С помощью следующего кода:
repository.Invoices.OrderBy(i => i.Date).Skip(page * 10).Take(10)
Если у меня 100 счетов-фактур, 50 из которых выставлены на одну и ту же дату, то для первых 5 страниц я получаю точно такой же набор результатов (то есть записи 1–10). . Чтобы обойти эту проблему, мне также нужно выполнить сортировку по уникальному ключу:
repository.Invoices.OrderBy(i => i.Date).ThenBy(i => i.Id).Skip(page * 10).Take(10)
Есть ли более «правильный» способ гарантировать, что подкачка работает должным образом? Я использую SQL Server 2014, который преобразует код пропуска/принятия в
OFFSET x ROWS FETCH NEXT 10 ROWS ONLY
Подробнее здесь: https://stackoverflow.com/questions/348 ... e-the-same