이 SQL이 있다고 가정 해 봅시다.
SELECT p.ParentId, COUNT(c.ChildId)
FROM ParentTable p
LEFT OUTER JOIN ChildTable c ON p.ParentId = c.ChildParentId
GROUP BY p.ParentId
이것을 LINQ to SQL로 어떻게 번역 할 수 있습니까? COUNT (c.ChildId)에 멈춰 생성 된 SQL이 항상 COUNT (*)를 출력하는 것 같습니다. 내가 지금까지 얻은 것입니다 :
from p in context.ParentTable
join c in context.ChildTable on p.ParentId equals c.ChildParentId into j1
from j2 in j1.DefaultIfEmpty()
group j2 by p.ParentId into grouped
select new { ParentId = grouped.Key, Count = grouped.Count() }
감사합니다!