我正在尝试DateTime
用 Linq 检索由 a 排序的记录到实体,但我也需要它们作为不同的记录。
我的表设计如下所示:
Umbraco CMS 节点在哪里blogItemNodeId
(可以创建评论的博客项目节点)
要求是博客项目列表可以按评论数排序。blogItemNodeId
所以我需要通过显示这些博客项目来获得最新的评论。
我当前的 linq 查询如下所示:
var distinctComments = (from c in ctx.BlogComments
orderby c.date
group c by c.blogItemNodeId
into uniqueRecords
select uniqueRecords.FirstOrDefault());
这个查询的问题是它找到了第一个(因此FirstOrDefault()
)记录blogItemNodeId
,它应该在哪里找到所有评论中最新的一条blogItemNodeId
。
有谁知道如何实现这一目标?:-)
提前非常感谢。
编辑
我设法通过这样做使它工作:
var allComments = (from c in ctx.BlogComments
orderby c.date descending
select c).ToList();
var distinctComments = allComments.GroupBy(x => x.blogItemNodeId).Select(y => y.FirstOrDefault());
但是我必须先得到所有的评论,然后再做这个不太优雅也不高效的小组。
任何帮助是极大的赞赏!