【问题标题】:LINQ Where clause problemLINQ Where 子句问题
【发布时间】: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


    【解决方案1】:

    如果我理解正确,您应该尝试将 Where 子句放在 Select 之前。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      • 2021-09-06
      • 1970-01-01
      • 2011-04-03
      相关资源
      最近更新 更多