Почему Entity Framework возвращает для свойства пустую коллекцию вместо нуля?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему Entity Framework возвращает для свойства пустую коллекцию вместо нуля?

Сообщение Anonymous »

У меня есть модель 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • В C# DirectoryEntry возвращает пустую коллекцию AuditRules, даже если правила аудита существуют.
    Гость » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Гость
  • Почему x509Store.Certificates.Find возвращает пустую коллекцию, даже если сертификат существует?
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Почему x509Store.Certificates.Find возвращает пустую коллекцию, даже если сертификат существует?
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Laravel take() возвращает пустую коллекцию для отношений
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Laravel take() возвращает пустую коллекцию для отношений
    Anonymous » » в форуме Php
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»