0
TableBに関連要素を持たない要素をTableAから取得する場合に、これらのいずれかを使用することに利点はありますか?GroupJoinとnull関連項目を除外する場所
TableA
.GroupJoin(
TableB,
o => o.TableAID,
i => i.TableAID,
(o,i) => new {o, child = i.DefaultIfEmpty()})
.Where(x => x.child.Where(c => c != null).Count() == 0)
.Select(x => x.o);
または
TableA
.Where(a => !TableB.Select(b => b.TableAID).Contains(a.TableAID));
私は左の外側でこれをやってに慣れてはSQL、用途の最初の例のようなものに参加します。 2番目の例では、 "NOT IN"型のアプローチを使用していますが、これはこれまで私が使ったことではありません。
両方の方法で同じデータが返されます。第2のものは、シンプルさの観点から私の好みのものです。最初のものには利点がありますか?
これを行う別の方法がありますか?