Пейджинг в Gridview с Linq - PullRequest
1 голос
/ 23 ноября 2011

Я знаю, что мои типы различных других проблем перечислены здесь в SO, но я думаю, что моя проблема сильно отличается от существующей, или мой подход отличается.

У меня есть вызов таблицы tblListing, где есть 108 столбцов, в которых у меня 170000 записей и увеличивается.В моем разделе администратора я вытащил 20 столбцов.Но проблема в том, что отображение в gridview занимает больше минуты.

Раньше я использовал datatable для отображения записей, но страница и система стали очень вялыми.Теперь я применил LINQ и использую .Take (20), но он отображает только 20 записей.

Так что я хочу загружать 20 записей одновременно во время подкачки.Любой образец кода или refence будут высоко оценены.

1 Ответ

3 голосов
/ 23 ноября 2011

Похоже, эта статья о Paging With LINQ может быть полезна для вас:

Вот соответствующий код:

public static class PagingExtensions
{
    //used by LINQ to SQL
    public static IQueryable<TSource> Page<TSource>(this IQueryable<TSource> source, int page, int pageSize)
    {
        return source.Skip((page - 1) * pageSize).Take(pageSize);
    }

    //used by LINQ
    public static IEnumerable<TSource> Page<TSource>(this IEnumerable<TSource> source, int page, int pageSize)
    {
        return source.Skip((page - 1) * pageSize).Take(pageSize);
    }
}
...