我的大腦現在似乎很糟糕!我正在使用LINQ to Entity,我需要從另一個表中不存在的表中獲取一些數據。LINQ to Entity,加入NOT IN表
例如:我需要TABLE A中不存在的groupID,groupname和groupnumber,它們不會存在於TABLE B中。groupID將與其他相關信息一起存在於TABLE B中。這些表格沒有任何關係。在SQL這將是非常簡單的(還有一個更優雅和高效的解決方案,但我要畫什麼,我需要一個圖片)
SELECT
GroupID,
GroupName,
GroupNumber,
FROM
TableA
WHERE
GroupID NOT IN (SELECT GroupID FROM TableB)
有一個簡單/優雅的方式來做到這一點使用實體框架/ LINQ到實體? 現在我有一堆查詢命中數據庫,然後比較等。這很麻煩。
如果內部子句是'y => y.GroupID == x.GroupID'? (如果'GroupB'中有'TableB'中的任何項目,則返回false) – Hannele 2013-10-03 18:43:30
@Hannele技術上它是相同的,可能更具可讀性。出於某種原因,我被構建爲向後執行布爾邏輯。 – Nix 2013-10-04 12:07:48
我同意Hannele,我認爲它應該是Where(x =>!context.TableB.Any(y => y.GroupID == x.GroupID)) – Sam 2016-03-03 08:12:41