首先,我遇到了Entity Framework 5代码的排序问题。我创建了一个不大不小的论坛,有两个班在我的模型:EF按项目属性或子项属性进行排序取决于具体情况
- 消息(的MessageId,DatePost,标题,内容)
- 评论(CommentId,DatePost,内容的MessageId)
消息有一个名为Comments的导航集合,EF Code First和相关配置可以很好地处理它。
在论坛的主页中,我试图通过他们的最后评论日期排序消息,以便将最后评论的消息放在最前面。我写了这样的代码:
_messageRepository
.GetAll()
.OrderByDescending(m => m.Comments.Max(c => c.DatePost))
.ToList();
问题是,当我发布新消息时,它没有评论,所以它在页面的底部。我想结合最后的排序方法与.OrderByDescending(m => m.Datepost)我以前不适合我的需求了...
任何帮助吗? :-)
谢谢!
我不会考虑实现列表解决方案.. – Moeri
我相信第一个查询可以在EF中工作而无需实现解决方案(它至少与我正在使用的类似数据集一样)。 – Ocelot20
@Moeri无论如何都通过'ToList()'来实现 - 它只是在客户端而不是SQL中进行排序。 –