我知道我在SO中列出了各种其他问题的类型,但我认为我的问题与现有问题完全不同,或者我的方法不同。
我有一个表调用tblListing,其中有108列,其中我有170000个记录并且正在增加。在我的管理部分,我要拔出20列。但问题是它需要花费一分多钟才能在gridview中显示。
早些时候,我使用数据表来显示记录,但页面和系统变得非常迟缓。现在我应用了LINQ,并使用.Take(20),但它只显示了20条记录。
所以我想在分页时一次加载20条记录。
请帮忙。任何示例代码或refence都将受到高度赞赏。
答案 0 :(得分:3)
看来这篇关于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);
}
}