我想使用linq
过滤数据表中的数据。C#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()
这将使你匹配任何日期的标识。 OP的要求是匹配所有的日期。 – 2012-04-13 14:19:12