我想使用过滤数据表中的数据linq
。
我的场景是我有一个元素数组,其中包含动态创建的日期,并且在数据表中我们有列id,date,etc.
我们必须检索包含数组中所有日期的 id
前任:
string[] arr={"10/10/2012","11/11/2012","9/9/2012"}
桌子 :
ID date
1 10/10/2012
2 11/11/2012
1 9/9/2012
6 9/9/2012
3 9/9/2012
6 11/11/2012
1 11/11/2012
输出将为 1 - 因为只有 id '1' 具有所有数组元素。
为了完成上述功能,我使用了如下所示的 Linq 查询。但我确实失败了。
Dim volunteers As DataTable =
(From leftTable In dtavailableVolunteers.AsEnumerable()
Join rightTable In dtavailableVolunteers.AsEnumerable()
On leftTable.VolunteerId Equals rightTable.VolunteerId
Where SelectedDatesArray.All(Function(i) rightTable.Field(Of String)("SelectedDate").Equals(i.ToString()))
Select rightTable).CopyToDataTable()