說我有以下內容:如何選擇嵌套在另一個集合中的在LINQ
( - > = 1到多達在EF代碼優先的集合實現)
消息 - > UserMessage
信息 - >附件
當我撥打以下:
var res = _ctx.DataContext.UserMessage.Where(x => x.UserId)
.Select(m => m.Message).ToList();
編輯:補充類:
public class Message
{
public int MessageId { get; set; }
public ICollection<Attachment> Attachments { get; set; }
[Required]
public string Text { get; set; }
}
public class Attachment
{
public int AttachmentId { get; set; }
public int MessageId { get; set; }
public virtual Message Message { get; set; }
public string FileServerPath { get; set; }
}
public class UserMessage
{
public int UserMessageId { get; set; }
[Required]
public int MessageId { get; set; }
public Message Message { get; set; }
[Required]
public int UserId { get; set; }
public User User { get; set; }
}
我期望資源變量來容納所有的附件,但即使有排它是空的。我錯過了什麼?
I」的上下文我添加了更多的類,所以你可以看到我的結構與你的結構不同。這是在代碼優先和EF的背景下進行的,因此在類中重複使用ID和表來表示關係並指定FK。 – jaffa 2011-05-13 12:33:14
@jaffa:請嘗試我的代碼。關於相關部分,您的課程與我的課程相同。 – 2011-05-13 13:02:50
我已將它設置爲已回答,但我最終實現了稍有不同。我的'聚合根'現在是父類,在嵌套類上使用了Include()方法,該方法又保存了集合。 – jaffa 2011-05-17 12:28:46