Задать вопрос
@andy301086

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

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

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


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

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

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