2つのデータテーブルがあります。
dtTable1:
id Name
--- ----
1 AAA
2 BBB
dtTable2:
id
---
2
出力は、id=2の行のないtable1である必要があります。
Linqを使用してこれを行うにはどうすればよいですか?
前もって感謝します。
この SO 投稿を確認してください: Is there a “not equal” in a linq join
var filteredDataTable = tableA.Except(tableB);
よろしく
次のように、2 番目の DataTable から ID のリストを取得できます。
var tempList = (from d in dt2.AsEnumerable()
select d.Field<int>("ID")).ToList();
!Contains
後で、次のように最初のデータテーブルから Not In をチェックするために使用できます。
var result = from t in dt1.AsEnumerable()
where !tempList.Contains(t.Field<int>("ID"))
select t;