Список внутри записи данных пуст - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть этот класс, который содержит список объектов ConversieDetail

public class ConversieRun
{
    [Key]
    public String Guid { get; set; }
    public String Naam { get; set; }
    public String Status { get; set; }
    public DateTime Start { get; set; }
    public DateTime? Einde { get; set; }
    public List<ConversieDetails> Details { get; set; }
}

С помощью следующего метода мне нужно вернуть список ConversieRun, включая ConversieDetails

public List<PGData.ConversieRun> GetAll()
{
      //var result = _context.CoversieDetails.ToList();
      return _context.ConversieRun.ToList();
 }

однако, когда я вернусь с приведенным выше примером, список spokieDetail будет нулевым. теперь, когда я раскомментирую список результатов, в списке объекта ConversieRun, как и ожидалось, будет заполнен список spokieDetails.

есть ли причина, по которой список ConversieDetails равен нулю, если я не получу их первым в другом списке?

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

1 Ответ

0 голосов
/ 09 сентября 2018

Отношения в сущностях не загружаются по умолчанию и будут нулевыми. Вы можете явно указать EF также загружать связанные объекты, используя Include, например:

_context.ConversieRun.Include(x => x.Details).ToList();

Теперь будут загружены все ConversieRun объекты, включая их данные.

Подробнее об этом можно прочитать в разделе «Загрузка связанных данных» документации (https://docs.microsoft.com/en-us/ef/core/querying/related-data)

В данном примере используется метод явной загрузки, вы также можете выбрать метод отложенной загрузки, когда связанные сущности загружаются при запросе их. Однако это может оказать негативное влияние на количество запросов к базе данных, так как для каждой детали ConversieRun будет выполняться отдельный запрос, чтобы получить его данные.

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