I have a very simple SQL query:
SELECT r.SpaceID, Count (*), SpaceCode
FROM Rider r JOIN Spaces s
ON r.SpaceID = s.SpaceID
GROUP BY r.SpaceID, s.SpaceCode
Please note that my group by clause is on multiple tables, I want to do the same in LINQ, I know how to group single table, but about multiple tables I have no idea.
For grouping multiple tables you can do as:
group new { r,s } by new { r.SpaceID, s.SpaceCode }
this might help:
(
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
}
)
Where db is the database context