我有一个非常简单的SQL查询:
SELECT r.SpaceID, Count (*), SpaceCode
FROM Rider r JOIN Spaces s
ON r.SpaceID = s.SpaceID
GROUP BY r.SpaceID, s.SpaceCode
请注意我的group by子句在多个表上,我想在LINQ中做同样的事情,我知道如何对单个表进行分组,但是关于多个表我不知道。
答案 0 :(得分:64)
对于分组多个表,您可以这样做:
group new { r,s } by new { r.SpaceID, s.SpaceCode }
答案 1 :(得分:29)
这可能会有所帮助:
(
from r in db.Rider
join s in db.Spaces
on r.SpaceID equals s.SpaceID
group new { r,s } by new { r.SpaceID, s.SpaceCode }
into grp
select new
{
Count=grp.Count(),
grp.Key.SpaceID,
grp.Key.SpaceCode
}
)
db是数据库上下文
答案 2 :(得分:0)
您可以使用以下命令。
grp.Sum(x => x.r.Col1)
效果很好。