I need some help with LINQ-2-SQL in order to group some blog posts by a year and month.
Basically, I have a collection of blog posts that have the following properties
I want to be able to iterate through each year, then iterate through every month of that year, and finally, iterate through every blog post within that month. Something like
- 2011
- April (show number of posts)
- Random Post 1
- Random Post 2
- May (show number of posts)
etc...
Is there a way I can do this with a single LINQ query, using the group by clause?
Here's as far as I've got
var groupedBlogPosts = (from p in blogPostsFiltered
group p by new { month = p.Date.Month, year = p.Date.Year } into d
select new { postDate = string.Format("{0}/{1}", d.Key.month, d.Key.year), postCount = d.Count() });
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…