0
使用其中任何一個來檢索TableA中沒有TableB中相關元素的元素是否有優勢?GroupJoin與哪裏可以過濾出與空項目相關的項目
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,其中第一個例子種用途。第二個例子使用「NOT IN」類型的方法,這不是我以前用過的方法。
兩種方式都返回相同的數據。第二個從簡單的角度來看是我的首選。第一個有什麼優勢嗎?
你有另外一種方法嗎?