【发布时间】:2024-04-30 04:35:02
【问题描述】:
我有两个表 - 博客和帖子(一对多关系)。
我想获取所有至少 3 个博客,并且在发布日期之前只为博客和订单列表发布 3 个帖子。
我在尝试什么:
_context.Blogs.Where(x => x.IsActive && x.Posts.Count >= 3).OrderByDescending(p => p.Posts.OrderByDescending(x => x.PublishDate)).ToList();
但我收到一条错误消息:
ArgumentException: At least one object must implement IComparable.
更新:
好的,我知道按发布日期排序会有问题。 我也在博客表 LastBuildDate 属性中。那么如何按 LastBuildDate 订购呢?
【问题讨论】:
-
包含帖子表
-
这不是意味着您应该首先按博客排序,然后在显示帖子时按发布日期排序吗?您可以将 Blog 扩展为 PostedAt ,它指的是第一个帖子,因此您可以在博客上排序,然后在显示帖子的位置,对帖子进行排序...
-
我的 linq 有点生疏了,但它怎么知道用什么来订购博客?在我看来,在博客排序中排序帖子不一定正确?
-
vlog 有帖子,所以我想在帖子发布日期之前订购博客。
-
但您刚才说您有多个帖子,每个帖子都有一个发布日期。它如何知道要订购哪个帖子的发布日期..
标签: c# .net asp.net-mvc entity-framework linq