现在我更新了ASP.NET 5 RC1和Entity Framework 7 RC1,我希望在我的模型中启用关系。但我无法让它发挥作用。
以下是我的模特:
public class Post
{
public int Id { get; set; }
public string Text { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}
public class Comment
{
public int Id { get; set; }
public string Text { get; set; }
public int PostId { get; set; }
public virtual Post Post { get; set; }
}
我已经在表格中手动插入了一些数据,并试图访问帖子的Comments
属性,如下所示:
var post = context.Posts.Where(x => x.Id == 1).FirstOrDefault();
var sb = new StringBuilder();
foreach(var comment in post.Comments)
{
sb.Append(comment.Text);
}
但Comments
属性始终为null。这篇文章在表中有两条评论。
我做错了什么?
答案 0 :(得分:5)
实体框架7不支持延迟加载(但它位于roadmap),因此您需要Include
您的子关系:
var post = context
.Posts
.Include(p => p.Comments)
.Where(x => x.Id == 1).FirstOrDefault();