Помогите с LINQ group by - PullRequest
       3

Помогите с LINQ group by

0 голосов
/ 14 апреля 2011

Я пытаюсь повторить этот SQL-запрос

SELECT     COUNT(1) AS Records, MONTH(date) AS Month, YEAR(date) AS YEAR
FROM         tblBlogEntries
GROUP BY MONTH(date), YEAR(date)
ORDER BY year DESC, month DESC

В LINQ я дошел до этого:

var q = from Rec in db.tblBlogEntries
        group Rec by new { Rec.date.Value.Year, Rec.date.Value.Month } into G
        select new {
            Month = G.Key.Month,
            Year = G.Key.Year
        };

Но я все еще новичок в LINQ и немного растерялся. Спасибо за любую помощь!

1 Ответ

3 голосов
/ 14 апреля 2011

Попробуйте вместо этого:

var query = from rec in db.tblBlogEntries 
            group rec by new { rec.date.Value.Month,
                               rec.date.Value.Year } into g
            orderby g.Key.Year descending, g.Key.Month descending
            select new {
                Count = g.Count(),
                g.Key.Year,
                g.Key.Month
            };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...