Подтвердить что ты не робот

Группировать несколько таблиц в 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, я знаю, как сгруппировать одну таблицу, но о нескольких таблицах я понятия не имею.

4b9b3361

Ответ 1

Для группировки нескольких таблиц вы можете выполнить следующие действия:

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

Ответ 2

это может помочь:

(
    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 - контекст базы данных