У меня есть объект со свойством 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
Собственная коллекция не заполняется при запросе родительского объекта с помощью SQLite [дубликат] ⇐ C#
Место общения программистов C#
1736842995
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"
[b]Результат[/b]: просматривая таблицы в базе данных, я вижу, что связь с внешними ключами настроена правильно, а значения можно добавить с помощью моего dbContext.
Однако, когда я запрашиваю контекст, он никогда не заполняет Список _childEntities.
Запрос выглядит следующим образом:
List entities = _parentEntityContext.ParentEntities
.Include(p => p.ChildEntities)
.ToList();
Подробнее здесь: [url]https://stackoverflow.com/questions/79353546/owned-collection-not-populated-when-querying-parent-entity-with-sqlite[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия