При попытке выполнить запрос с использованием LINQ в VB.net для выбора некоторых сотрудников из таблицы данных, ранее заполненной набором данных, у меня возникла проблема при использовании предложения 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.
Спасибо!