使用LINQ查询的最佳方式&处理大型记录集时的Gridview分页。

时间:2011-07-28 13:55:56

标签: linq gridview pagination

我在页面上有一个gridview,后面的代码中有一个LINQ查询。没有什么花哨但是,确实使用分页(使用pageIndex更改事件)。

一切正常但在我们的开发环境中运行时遇到了问题,因为数据库中有很多数据。

所以我的问题是LINQ只在数据绑定中枚举,而gridview的页面大小为20,LINQ是否每次获取数据包时都会获取所有记录? 在处理大量记录时,您将如何处理将LINQ查询的结果绑定到gridview?

2 个答案:

答案 0 :(得分:0)

以下是我创建支持linq查询和分页的自定义网格的解决方案:LINQ TO SQL GridView (Enhanced Gridview)

答案 1 :(得分:0)

我建议使用两种方法:

  1. 使用Skip()结果集上的Take()IQueryable<T>方法获取您要查看的结果的当前页面。您可以传递pageIndexmaximumRows值来确定要发送到Skip()的值(例如pageIndex * maximumRows)。

  2. 使用的第二种方法是在同一个LINQ查询上使用Count()方法获取总可能记录的计数。通过这种方式,您可以在不获取所有行(大量数据)的情况下获取计数。

  3. 希望有所帮助。