在LINQ中组合多个表

我有一个非常简单的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中做同样的事情,我知道如何对单个表进行分组,但是关于多个表我不知道。

要对多个表进行分组,您可以执行以下操作:

 group new { r,s } by new { r.SpaceID, s.SpaceCode } 

这可能有所帮助:

 ( 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是数据库上下文