Код: Выделить всё
public async Task GetWorkareaEntityPeriodListAsync(List entities)
{
return await _dataBase.WorkareaEntityPeriods
.Where(x => entities.Contains(x.WorkareaEntityPeriodId))
.EntityProjectionGetDto()
.Distinct()
.ToListAsync();
}
public static IQueryable EntityProjectionGetDto(this IQueryable workareaEntityPeriodQuery)
{
return workareaEntityPeriodQuery.Select(s => new
{
Id = s.WorkareaEntityPeriodId,
Name = s.WorkareaEntity.EntityName,
ClientId = s.WorkareaEntity.ClientId,
JurisdictionName = s.WorkareaEntity.JurisdictionName,
JurisdictionId = s.WorkareaEntity.JurisdictionId,
WorkArea = s.Workarea.WorkareaName,
WorkareaId = s.Workarea.WorkareaId,
WorkstreamName = s.WorkareaEntity.Workarea.Workstream,
MarketOfferingId = s.WorkareaEntity.Workarea.MarketOfferingId,
EngagementTypeId = s.WorkareaEntity.Workarea.EngagementTypeId,
ProcessId = s.Workarea.ProcessId,
ProjectId = s.WorkareaEntity.ProjectId,
PeriodStart = s.PeriodStart,
PeriodEnd = s.PeriodEnd,
isOutscope = (bool?)s.EntitySettings.isOutscope,
LinkedPeriodId = s.LinkedPeriodId,
PriorPeriodId = s.PriorPeriodId,
Region = s.Workarea.Region
});
}
Проблема в том, что это занимает много времени (даёт тайм-аут восходящего потока) в .NET 8, в то время как тот же запрос возвращается примерно через 2 секунды.
На время выполнения существенно повлияло, есть какие-нибудь предложения?
Подробнее здесь: https://stackoverflow.com/questions/791 ... nce-issues