相关疑难解决方法(0)

LINQ - 左连接,分组依据和计数

假设我有这个SQL:

SELECT p.ParentId, COUNT(c.ChildId)
FROM ParentTable p
  LEFT OUTER JOIN ChildTable c ON p.ParentId = c.ChildParentId
GROUP BY p.ParentId
Run Code Online (Sandbox Code Playgroud)

如何将其转换为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() }
Run Code Online (Sandbox Code Playgroud)

谢谢!

.net c# linq linq-to-sql

165
推荐指数
5
解决办法
19万
查看次数

标签 统计

.net ×1

c# ×1

linq ×1

linq-to-sql ×1