Vb.net 通过LINQ向树中添加节点将创建;不支持查询运算符";运行时

Vb.net 通过LINQ向树中添加节点将创建;不支持查询运算符";运行时,vb.net,linq,linq-to-sql,Vb.net,Linq,Linq To Sql,我正试图让我的头脑围绕一个LINQ问题。最终目标是将从LINQ获取的数据加载到SQL树视图(视图)。问题是,当我试图访问获取的数据时,它总是抛出一个“运行时不支持的查询运算符”。涉及的代码不超过: Dim tasklistdata As New lqDataContext Dim UserID As Integer UserID = (From vwUser In tasklistdata.Operators _ Where vwUser.Us

我正试图让我的头脑围绕一个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