Группа LINQ по дате и времени

У меня есть таблица со столбцом с другим значением smalldatetime. Я бы разделил результаты по месяцам и годам, примерно так:

ЯНВАРЬ 2016: ....

....

АВГУСТ 2017: ....

СЕНТЯБРЬ 2017: ...

...

Я сделал что-то вроде этого:

var query = db.Table.GroupBy(q => q.date.Value.Month);

но он разделяется только по месяцам, а не по годам, поэтому я не могу отличить, например, АВГУСТ 2016 от АВГУСТА 2017.

Кто-нибудь может мне помочь?


person Alfra    schedule 29.08.2017    source источник
comment
Попробуйте .GroupBy(q => new {Month = q.date.Value.Month, Year = q.date.Value.Year})...   -  person ViRuSTriNiTy    schedule 29.08.2017
comment
Вы хотите сохранить исходную дату в группе или только месяц/год.   -  person just.another.programmer    schedule 29.08.2017


Ответы (1)


Это должно служить вашей цели:

    var groupedDates = dates.GroupBy(d => new { d.Date.Year, d.Date.Month }).SelectMany(g => g.ToList());
person Tanjeer    schedule 29.08.2017