我试图检索由一个DateTime
与Linq订购的记录到实体,但我也需要它们作为不同的记录。Linq to Entities查询以选择最新的,不同的记录
我的表的设计是这样的:
凡blogItemNodeId
是一把umbraco CMS节点(到注释可以创建博客项目节点)
的要求是一个列表的博客文章可以按照他们的评论数量排序。所以我需要通过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());
但后来我做的这是不是很优雅组之前获得所有的意见,也没有高性能。
任何帮助,非常感谢!
刚刚发现这个“问题”。你应该有“通过编辑回答你自己的问题”一节,澄清你找到了答案。这有助于他人(并增加你的代表点!)。 – SilentNot