Я использую LINQ to SQL для поиска в довольно большой базе данных, а для просмотра страниц использую listview и datapager. Мне известны методы Skip () и Take (), и они работают правильно. Однако я не могу использовать счетчик результатов для пейджера данных, поскольку они всегда будут иметь размер страницы, определенный в методе Take ().
Например:
var result = (from c in db.Customers
where c.FirstName == "JimBob"
select c).Skip(0).Take(10);
Этот запрос всегда будет возвращать 10 или менее результатов, даже если есть 1000 JimBobs. В результате DataPager всегда думает, что есть одна страница, и пользователи не могут перемещаться по всему набору результатов.
Как я могу обмануть хранилище данных, чтобы отображать количество страниц на 1000, но связывать 10 элементов одновременно? Я не хочу использовать объектный источник данных.
Спасибо.