Существует несколько методов, о которых упоминалось в комментариях, для реализации нумерации страниц.
Вы также упомянули, что у вас есть 9 столбцов, поэтому для выбора только столбцов вам нужны запросы, а не все.
Предполагая, что вы используете ORM, такой как Entity Framework, самая большая ошибка, которую я вижу, это то, что люди вызывают ToList () для DbSet ... что является самой простой ловушкой для чего-либо другого, как вызовToList () до подкачки будет означать, что операции, которые вы определили над объектами после этого, будут выполняться в памяти, а не как оператор SQL.Такие вещи, как .Skip (), Take () или ваши предложения Where должны появляться перед выполнением запроса с помощью вызова ToList ().