Запрос строится следующим образом:
Код: Выделить всё
var query = entity1Repository.Include(x => x.Entity2)
.ThenInclude(x => x.Entity3)
.Include(x => ...)
[...]
.AsSplitQuery();
if( [condition] )
{
query = query.Where(x => ... );
}
if([condition])
{
query = query.Where(x => ... );
}
[more filters]
var image = await query.SingleAsync(x => x.Id == 1234); // Navigation property value for entity2 exist
var result = await query.ToListAsync(); // Navigation property value for entity2 missing for some entity1
При использовании Single(x => x.Id == ...) тогда свойства навигации загружаются правильно.
Без AsSplitQuery запрос работает нормально, если запрашивается не так много данных, иначе время ожидания истекает, поэтому мы не можем его удалить.< /p>
Использование EFCore 7.0.20. SQL-сервер. Asp.net 6
Конфигурация сущностей работает нормально, вот уже год не о чем сообщать.
Что может быть источником такого поведения?
При необходимости могу опубликовать некоторую информацию о конструкции.
Подробнее здесь: https://stackoverflow.com/questions/791 ... ific-navig
Мобильная версия