如何通过Entity Framework Core从包含列表中包含类?

时间:2018-12-16 11:49:36

标签: c# linq entity-framework-core

我有一个名为Posts的类,其导航属性为类Comment

public class Post
{
    public Guid Id { get; set; }
    ...
    public virtual List<Comment> Comments { get; set; }
}

还有Comment类:

public class Comment
{
    public Guid Id { get; set; }

    public Post Post { get; set; }
    public User Commentator { get; set; }

    public string Text { get; set; }
}

如您所见,注释引用了PostUser

用户还具有用于评论的导航属性。

public class User
{
    public Guid UserId { get; set; }

    ...

    public virtual List<Comment> Comments { get; set; }
}

当我尝试编写查询以选择所有帖子(包括评论,然后包括评论的评论者)时,我得到了评论,但评论者不断返回null

这是我的查询:

    return _dbContext.Posts
            .Include(p => p.Comments)
            .ThenInclude(c => c.Commentator)
            .Select(x => { PostId = x.Id, Headline = x.Headline, Text = x.Text, Media = x.Image, Comments = x.Comments });

我再次检查了数据库中的数据,因此我认为它与列表上的.ThenInclude()有关。

谢谢。

0 个答案:

没有答案