【发布时间】:2010-04-30 20:07:32
【问题描述】:
当尝试在 VB.net 中使用 LINQ 进行查询以选择以前填充了数据集的数据表的某些员工时,我在使用 where 子句时遇到了问题。我想要的是选择数据表的所有员工,除了那些出现在名为 CurrentExcludedEmployeesLst 的排除员工列表中的员工。所以我遵循以下步骤:
1.- 首先,我用数据集填充我的数据表“员工”。我的数据集有一个包含三列的表,EMPLID、NAME、DEPT。
Dim employees As DataTable
employees = Me.MyDataset.Tables("EMPLOYEESTABLE")
2.- 我构建查询:
Dim employeeCollection As EnumerableRowCollection
employeeCollection =
employees.AsEnumerable() _
.Select(Function(employee As DataRow) New With _
{ _
.EMPLID = employee.Field(Of String)("EMPLID"), _
.NAME = employee.Field(Of String)("NAME"), _
.TITLE = employee.Field(Of String)("DEPT") _
}).Where(Function(employee As DataRow) NOT
CurrentExcludedEmployeesLst.Contains(employee.Field(Of String)("EMPLID")))
如果我不放置 Where 子句,它会完美运行。我的问题是当我想使用 Where 子句进行过滤时。
谢谢!
【问题讨论】:
标签: vb.net winforms linq where-clause