@andy301086

Как оптимизировать IPaginatedList?

Привет всем. Столкнулся с такой проблемой. Используется на проекте EF 6 + IPaginationList. В реализации есть поле которое получает количество записей Count(). Запрос на этом строке кода виснет.

public IPaginatedList<T> Apply<T>(IEnumerable<T> source)
        {
            var totalRecords = source.Count();
        .....


В базе 250 тыс. записей. Можно ли как то оптимизировать? Спасибо
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
@Sumor
У вас на входе в метод IEnumerable, что заставляет C# перечислить источник данных (SELECT * FROM source).
Чтобы вместо этого был сгенерирован запрос на количество нужно на вход получать IQueryable. Тогда сгенерируется запрос вида SELECT count(*) FROM source.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ImmortalCAT
@ImmortalCAT
C# loving
может быть сделать запрос на уровне базы данных
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы