实体框架7 RC1关系

时间:2015-12-04 11:06:49

标签: c# asp.net-mvc entity-framework entity-framework-core

现在我更新了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。这篇文章在表中有两条评论。

我做错了什么?

1 个答案:

答案 0 :(得分:5)

实体框架7不支持延迟加载(但它位于roadmap),因此您需要Include您的子关系:

var post = context
    .Posts
    .Include(p => p.Comments)
    .Where(x => x.Id == 1).FirstOrDefault();