Низкая производительность в цикле C# с Entity Framework ⇐ C#
Низкая производительность в цикле C# с Entity Framework
Мой проект использует Entity Framework 6 для выполнения запросов к базе данных (кстати, я использую postgres).
В настоящее время у меня есть цикл for примерно с 1000 элементами.
Всем им приходится выполнять отдельные запросы, дополняющие тело, но выполнение настолько медленное, что выполнение занимает более 10 минут.
Мой код выглядит так:
private async Task OptionsConvertProcessos(IEnumerable listMobileSearchProcessosResponseViewModel) { if (!listMobileSearchProcessosResponseViewModel.Any()) возвращаться; foreach (элемент var в listMobileSearchProcessosResponseViewModel) { дождитесь этого.GetProcessoInfo(пункт); } } Но на это уходит много времени.
Я пытался преобразовать этот блок для использования Task.WhenAll(...), но получаю следующую ошибку:
Базовый поставщик не смог открыть. 53300: извините, уже слишком много клиентов
И я, к сожалению, не могу просто объединить все, что мне нужно, в уникальный запрос
Мой проект использует Entity Framework 6 для выполнения запросов к базе данных (кстати, я использую postgres).
В настоящее время у меня есть цикл for примерно с 1000 элементами.
Всем им приходится выполнять отдельные запросы, дополняющие тело, но выполнение настолько медленное, что выполнение занимает более 10 минут.
Мой код выглядит так:
private async Task OptionsConvertProcessos(IEnumerable listMobileSearchProcessosResponseViewModel) { if (!listMobileSearchProcessosResponseViewModel.Any()) возвращаться; foreach (элемент var в listMobileSearchProcessosResponseViewModel) { дождитесь этого.GetProcessoInfo(пункт); } } Но на это уходит много времени.
Я пытался преобразовать этот блок для использования Task.WhenAll(...), но получаю следующую ошибку:
Базовый поставщик не смог открыть. 53300: извините, уже слишком много клиентов
И я, к сожалению, не могу просто объединить все, что мне нужно, в уникальный запрос
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение