Code Snippet
var AList = from an in db.Announcements
group an by an.EnteredOn.Year into YearGroups
orderby YearGroups.Key descending
select
new
{
Year = YearGroups.Key,
MonthGroups =
from an2 in YearGroups
group an2 by an2.EnteredOn.Month into MonthGroups
orderby MonthGroups.Key descending
select
new
{
Month = MonthGroups.Key,
Announcements =
(from an3 in MonthGroups
orderby an3.EnteredOn descending
select an3)
}
};