У меня есть модель Entity Framework, имеющая следующее свойство:
public List? VanMapEventTypes { get; set; }
Затем я читаю объект, используя:
var @event = await dbContext.Events
.Include(e => e.ApptShifts)
.Include(e => e.Occurrences)
.Include(e => e.Owner)
.Include(e => e.Parent)
.FirstOrDefaultAsync(e => e.Id == updateEvent.EventId, stoppingToken);
Это возвращает @event.Parent.VanMapEventTypes == пустое значение List().
Если я добавлю:
var @event = await dbContext.Events
.Include(e => e.ApptShifts)
.Include(e => e.Occurrences)
.Include(e => e.Owner)
.Include(e => e.Parent)
.ThenInclude(o => o.VanMapEventTypes)
.FirstOrDefaultAsync(e => e.Id == updateEvent.EventId, stoppingToken);
Затем он возвращает @event.Parent.VanMapEventTypes с ожидаемыми 11 элементами в списке List().
Почему он не возвращает @event.Parent.VanMapEventTypes == null при первом вызове?
public class Organization
{
public int Id { get; private set; }
public List? VanMapEventTypes { get; set; }
// lots of other properties
public Organization(string uniqueId)
{
ArgumentException.ThrowIfNullOrEmpty(uniqueId);
Enabled = true;
Private = false;
Deleted = false;
UniqueId = uniqueId;
// initialize this because the data is in the Campaign table so logically its never null.
Address = new Address();
VanMapEventTypes = new List();
}
}
public class Event
{
public int Id { get; private set; }
public Organization Parent { get; set; }
// lots of other properties
}
public class MapInterestToVanType
{
public int Id { get; private set; }
public string InterestName { get; set; }
public string VanEventTypeName { get; set; }
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... -for-a-pro
Почему Entity Framework возвращает для свойства пустую коллекцию вместо нуля? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение