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() }
[code]SELECT p.ParentId, COUNT(c.ChildId) FROM ParentTable p LEFT OUTER JOIN ChildTable c ON p.ParentId = c.ChildParentId GROUP BY p.ParentId [/code]
Как мне перевести это в LINQ to SQL? Я застрял на COUNT(c.ChildId), сгенерированный SQL всегда выводит COUNT(*). Вот что у меня получилось:
[code]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() } [/code]
Как выполнить левое внешнее соединение в C# LINQ с объектами без использования предложений соединения по принципу равенства? Есть ли способ сделать это с помощью предложенияwhere?
Правильная проблема:
Для внутреннего соединения это просто, и у меня...
Как выполнить левое внешнее соединение в C# LINQ с объектами без использования предложений соединения по принципу равенства? Есть ли способ сделать это с помощью предложенияwhere?
Правильная проблема:
Для внутреннего соединения это просто, и у меня...