Как включить класс из включенного списка через Entity Framework Core? - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть класс с именем 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; }
}

Как видите, комментарий ссылается на Post и User

У пользователя также есть свойство навигации по комментариям.

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() в списке.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...