Если возможно, вы должны использовать LINQ, поскольку расширяемые операции облегчают подкачку.
По сути, вы бы указали ObjectDataSource или LinqDataSource для своего GridView.
Тогда у вас будет метод IQueryable<T>
, который принимает начальную позицию и количество строк для извлечения.
Затем вы используете Skip()
и Take()
для достижения простой подкачки.
Вот очень хорошая статья о том, как это сделать.
Помните, что Skip()
и Take()
- это методы, предоставляемые любому классу, который реализует IEnumerable. Таким образом, даже несмотря на то, что в приведенной выше статье для своего хранилища данных используется LINQ-SQL, пока ваш собственный DAL предоставляет коллекцию типа IEnumerable
, вы можете использовать шаблон Skip and Take.
Надеюсь, это поможет.