基于其他实体内容对实体进行排序

本文关键字:实体 排序 其他 于其他 | 更新日期: 2023-09-27 18:25:41

我的问题是我不知道如何编写这个查询。

我有一个实体对话

   public class Conversation : Entity
    {
        protected Conversation() { }
        [Required]
        public DateTime CreationDate { get; protected set; }
        public virtual HashSet<Message> Messages { get; set; }
}

以及实体消息

public class Message : Entity<long>
    {
        protected Message()
        { }
        public DateTime CreationDate { get; protected set; }
        [Required]
        public string Msg { get; protected set; }
}

我想检索由写在上面的最新消息排序的对话。

我所说的"最近"是指在谈话中写得最紧密的。

有人能帮我吗?

基于其他实体内容对实体进行排序

只需查看每个会话的最大消息创建数据:

var query = conversations.OrderByDescending(c => c.Messages.Max(m => n.CreationDate))