относительно новый для linq, исходящий из SQL. Итак, я пытаюсь выяснить левые соединения для следующего:
SELECT * from MASTER m
LEFT JOIN CHILD C
ON m.ID=C.MASTER_ID
WHERE C.MASTER_ID is null
Таким образом, обычно это возвращает все записи от Мастера, у которых нет ребенка. Я обнаружил .DefualtIfEmpty (), но это не устраняет основные записи, в которых есть дети.
Я начал:
var recs=from m in MASTER
from c in child
.where (mapping=>mapping.MasterId == m.Id)
.DefaultIfEmpty()
select new { MasterId = m.Id};
Но это насколько я добрался и застрял. Я предполагаю, что .DefaultIfEmpty () не то, что я ищу. Примечание. В главной таблице содержится несколько миллионов строк. Дети близки к одному и тому же счету. Я упоминаю только потому, что будет неэффективно отбрасывать все записи и т. Д. В идеале созданный SQL будет выглядеть как SQL, который я разместил.
Спасибо всем.
c#,.net,linq,linq-to-sql,