Сегодня мне нужно писать запросы LINQ в VB.net в таблицу базы данных, но я новичок в SQL/LINQ. Эта функция ниже предназначена для заполнения списка строк со всеми возможными «Вопросами» в таблице базы данных, которые соответствуют типу QuestionType.SQL LINQ Query: выбор конкретного столбца
Однако, я хочу только выбрать один столбец, столбец QuestionText, а не все данные, всякий раз, когда у меня есть совпадение.
Public Shared Function RetrieveQuestions(ByVal QuestionType) As List(Of String)
Dim db As New DBDataContext()
db.CommandTimeout = 300
Dim ListOfQuestions As List(Of String) = New List(Of String)
While True
Dim questionList As List(Of Question) = db.Questions.ToList
Dim question As List(Of String) = (From q As Question In questionList Where q.FormType = QuestionType Select q.QuestionText).ToList
Dim i As List(Of String) = question
If (question IsNot Nothing) Then
ListOfQuestions(ListOfQuestions.Count) = i.QuestionText //ERROR
Else
Exit While
End If
End While
Return ListOfQuestions
End Function
В вышеприведенной функции возникает ошибка при попытке обновить список с помощью нового QuestionText. "QuestionText не является членом System.Collections.Generic.List (Of String)". QuestionText определяется как varchar в моей базе данных SQL, поэтому я знаю, что это определенно строка. Я не пытаюсь установить QuestionText в список строк, а скорее добавлю его в конец списка строк.