Выгрузка маршрутов: загрузка шагов и условий раздельными запросами (AsSplitQuery)
Убирает предупреждение EF про MultipleCollectionIncludeWarning. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -88,6 +88,9 @@ public sealed class RouteExportService(
|
|||||||
var routes = await db.TemplateRoutes.AsNoTracking()
|
var routes = await db.TemplateRoutes.AsNoTracking()
|
||||||
.Where(x => requestTypeIds.Contains(x.RequestTypeId))
|
.Where(x => requestTypeIds.Contains(x.RequestTypeId))
|
||||||
.Include(x => x.Steps).ThenInclude(s => s.Conditions)
|
.Include(x => x.Steps).ThenInclude(s => s.Conditions)
|
||||||
|
// Две вложенные коллекции (шаги и их условия) одним запросом дали бы декартово
|
||||||
|
// произведение строк — режем на отдельные запросы.
|
||||||
|
.AsSplitQuery()
|
||||||
.OrderBy(x => x.Id)
|
.OrderBy(x => x.Id)
|
||||||
.ToListAsync(cancellationToken);
|
.ToListAsync(cancellationToken);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user