LINQ — левое соединение, группировка и подсчетC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 LINQ — левое соединение, группировка и подсчет

Сообщение Anonymous »

Предположим, у меня есть такой 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() }
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/695 ... -and-count
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как объединить несколько таблиц с помощью linq с помощью свободного nHibernate (левое соединение)?
    Anonymous » » в форуме C#
    0 Ответы
    60 Просмотры
    Последнее сообщение Anonymous
  • ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ в LINQ
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ в LINQ
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • LINQ to SQL — левое внешнее соединение с несколькими условиями соединения
    Anonymous » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как выполнить левое внешнее соединение с помощью методов расширения LINQ
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»