Я пытаюсь разобраться в проблеме LINQ. Конечная цель - загрузить представление в виде дерева с данными, полученными из LINQ to SQL (представление). Проблема в том, что когда я пытаюсь получить доступ к полученным данным, он продолжает бросать «оператор запроса, не поддерживаемый во время выполнения». Используемый код не более чем:
Dim tasklistdata As New lqDataContext
Dim UserID As Integer
UserID = (From vwUser In tasklistdata.Operators _
Where vwUser.UserName Is Login.txtUsername.Text _
Select vwUser.OperatorID).Single
Dim lqHospitalList = From vwHospitalList In tasklistdata.SPM_Accounts _
Where vwHospitalList.OperatorID = UserID _
Order By vwHospitalList.CustomerName, vwHospitalList.Class _
Select vwHospitalList.CustomerName, vwHospitalList.Class, vwHospitalList.ClassCount, vwHospitalList.Charges
tvHospitalSelect.Nodes.Add(lqHospitalList(0).CustomerName)
если бы я изменил код на lqHospitalList.First.CustomerName, он работал бы так, как ожидалось, однако изменение его на позицию массива - вот где возникает проблема. Пожалуйста, направьте меня туда, где моя логика.





Запросы Linq не являются списками, поэтому у них нет индекса. Чтобы перебрать все элементы, вы можете использовать foreach следующим образом:
For Each hospital In lqHospitalList
tvHospitalSelect.Nodes.Add(hospital.CustomerName)
Next
Если вы хотите преобразовать запрос в список:
lqHospitalList.ToList
или массив:
lqHospitalList.ToArray