LINQを使用して、他のテーブルに存在しない行を表示しようとしています。誰かが私を助けることができますか?
これが使用しているSQLIMです。
select * from table1
left join table2
on
table1.col1 = table2.col1
and
table1.col2 = table2.col2
where
table2.col1 is null and table2.col2 is null
すでにいくつかの解決策を検索して見つけました。これが私がこれまでにしたことです。
from t1 in table1
where
!(from t2 in table1
join t3 in table2 on
new { t2.col1, t2.col2 }
equals
new { t3.col1, t3.col2 }
select t2.PK).Contains(t1.PK)
select t1
上記のコードはうまく機能しますが、それが私が使用できる唯一の解決策であるかどうか疑問に思っていますか?つまり、JOINおよびCONTAINSメソッドを使用する代わりに、where句を使用してleft join linqを直接使用することはできませんか?