2014-10-06 161 views
0

我的問題是,我不知道如何編寫此查詢。基於其他實體內容的訂購實體

我有一個實體的對話

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; } 
} 

我想通過檢索寫有最新消息下令對話。

最近我的意思是在談話中寫得最密切。

有人可以幫助我嗎?

+0

你爲什麼要使用'HashSet'(尤其是因爲'Message'不會覆蓋'Equals'或'GetHashCode'你」已經顯示)? – 2014-10-06 20:23:06

+0

我在實體的通用實現上覆蓋它。但那不是我的問題。 – chfumero 2014-10-06 20:34:06

回答

1

只要看看每個對話的最大消息創建數據:

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