首页 > 解决方案 > 如何通过 Entity Framework Core 从包含列表中包含一个类?

问题描述

我有一个名为 classPosts的导航属性的类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; }
}

如您所见,注释引用 aPost和 aUser

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

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()列表中的数据有关。

提前致谢。

标签: c#linqentity-framework-core

解决方案


推荐阅读