我想使用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