Группировать несколько таблиц в LINQ - PullRequest
36 голосов
/ 04 января 2012

У меня очень простой запрос SQL:

SELECT r.SpaceID, Count (*), SpaceCode 
FROM Rider r JOIN Spaces s 
ON r.SpaceID = s.SpaceID
GROUP BY r.SpaceID, s.SpaceCode 

Пожалуйста, обратите внимание, что моя группа сгруппирована по нескольким таблицам, я хочу сделать то же самое в LINQ, я знаю, как сгруппировать одну таблицу, но о нескольких таблицах я понятия не имею.

Ответы [ 2 ]

66 голосов
/ 04 января 2012

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

group new { r,s } by new { r.SpaceID, s.SpaceCode }
31 голосов
/ 04 января 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...