В методе, который принимает параметры int pageNum и int pageSize, я пытаюсь вернуть данные из динамики на основе этой конкретной страницы и размера.
Я использую выражение QueryExpression и задаю номер страницы exp.PageInfo и размер страницы для достижения этой цели, которая прекрасно работает, пока страница 51 с размером страницы 100 выдает ошибку «При поиске набора требуется файл cookie подкачки записей на любых старших страницах "
Это приводит меня к почти повторяющейся территории вопроса (например, Dynamics CRM - Как получить вторую страницу запроса fetchXml, превышающую 5000 элементов? ), но утверждает, что "вам не нужен файл cookie для пейджинга "просто не правильно, кажется, я ничего не могу сделать для результатов за 5k, которые не приводят к этой ошибке.
Теперь я перебираю весь набор результатов (что позволяет мне получить PagingCookie из предыдущих результатов, чтобы перейти к запросу на следующую страницу), а затем возвращаю нужные мне данные из этого набора, но это очень медленно , Я сделал это быстрее, динамически изменяя запрос в цикле подкачки, поэтому он возвращает столбцы только в том случае, если текущие данные находятся в запрошенном диапазоне страниц, который сократил запрос примерно на 30 сек, но все еще очень медленный для такого большого набора данных.
Итак, есть ли А) что-то, что позволит мне получить эти высокие результаты без файла подкачки? Это ограничение QueryExpression, например? или B) более быстрый способ решения этой проблемы, чем перебирать все результаты до нужной мне страницы?
Спасибо.