を使用してデータ テーブル内のデータをフィルター処理したい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()