Собственная коллекция не заполняется при запросе родительского объекта с помощью SQLite [дубликат]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Собственная коллекция не заполняется при запросе родительского объекта с помощью SQLite [дубликат]

Сообщение Anonymous »

У меня есть объект со свойством IReadOnlyList, в основе которого лежит поле частного списка. Я хочу настроить эту связь «один ко многим», используя Entity Framework Core с экземпляром IEntityTypeConfiguration.
Два объекта:
public class ParentEntity
{
private ParentEntity(){}

public long Id { get; set; }
private readonly List _childEntities = new();
public IReadOnlyCollection ChildEntities => _childEntities;
}

public class ChildEntity
{
private ChildEntity(){}

public long Id { get; set; }
public string SomeProperty { get; set; }
}

Конфигурация:
public class ParentEntityConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.ToTable("ParentEntities");
builder.HasKey(pe => pe.Id);

builder.OwnsMany(pe => pe.ChildEntities, childEntity =>
{
childEntity.WithOwner().HasForeignKey("ParentEntityId");
childEntity.ToTable("ChildEntities");
childEntity.HasKey(ce => ce.Id);

childEntity.Property(ce => ce.SomeProperty).IsRequired();
});

builder.Navigation(pms => pms.ChildEntities).UsePropertyAccessMode(PropertyAccessMode.Field);
}
}

Пакет: Microsoft.EntityFrameworkCore.Sqlite» Version="9.0.0"
Результат: просматривая таблицы в базе данных, я вижу, что связь с внешними ключами настроена правильно, а значения можно добавить с помощью моего dbContext.
Однако, когда я запрашиваю контекст, он никогда не заполняет Список _childEntities.
Запрос выглядит следующим образом:
List entities = _parentEntityContext.ParentEntities
.Include(p => p.ChildEntities)
.ToList();


Подробнее здесь: https://stackoverflow.com/questions/793 ... ith-sqlite
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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