Выгрузка маршрутов: загрузка шагов и условий раздельными запросами (AsSplitQuery)
Tests / frontend-test (pull_request) Successful in 1m31s
Tests / backend-test (pull_request) Successful in 1m55s

Убирает предупреждение EF про MultipleCollectionIncludeWarning.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
gorbenko.pavel
2026-10-13 10:48:28 +05:00
parent bacf18c608
commit 32fe3904e3
@@ -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);