【发布时间】:2011-06-17 02:45:17
【问题描述】:
我需要一些有关 LINQ-2-SQL 的帮助,以便按年份和月份对一些博客文章进行分组。
基本上,我有一组具有以下属性的博客文章
- 身份证
- 标题
- 日期
我希望能够遍历每一年,然后遍历该年的每个月,最后遍历该月内的所有博客文章。像
- 2011
- 四月(显示帖子数)
- 随机发帖 1
- 随机帖子 2
- 五月(显示帖子数)
- 随机发帖 2
- 四月(显示帖子数)
等等……
有没有一种方法可以使用 group by 子句通过单个 LINQ 查询来做到这一点?
这是我所知道的
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() });
【问题讨论】:
-
如果您只想在帖子中以缩进格式列出所有博客帖子,按日期对所有帖子进行排序并循环处理缩进可能会更容易,但我可能会错过了什么。
-
不相关,但您可能还需要考虑按降序排列月份。所以最近的在最上面。
-
谢谢@pickypg:我会在分组排序后立即订购。 @Chris,我认为您可能会遗漏一些东西,我不太明白如何通过循环浏览每个帖子来对所有内容进行分组。