我正试图解决LINQ问题。最终目标是用从LINQ到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