我在页面上有一个gridview,后面的代码中有一个LINQ查询。没有什么花哨但是,确实使用分页(使用pageIndex更改事件)。
一切正常但在我们的开发环境中运行时遇到了问题,因为数据库中有很多数据。
所以我的问题是LINQ只在数据绑定中枚举,而gridview的页面大小为20,LINQ是否每次获取数据包时都会获取所有记录? 在处理大量记录时,您将如何处理将LINQ查询的结果绑定到gridview?
答案 0 :(得分:0)
以下是我创建支持linq查询和分页的自定义网格的解决方案:LINQ TO SQL GridView (Enhanced Gridview)
答案 1 :(得分:0)
我建议使用两种方法:
使用Skip()
结果集上的Take()
和IQueryable<T>
方法获取您要查看的结果的当前页面。您可以传递pageIndex
和maximumRows
值来确定要发送到Skip()
的值(例如pageIndex * maximumRows
)。
使用的第二种方法是在同一个LINQ查询上使用Count()
方法获取总可能记录的计数。通过这种方式,您可以在不获取所有行(大量数据)的情况下获取计数。
希望有所帮助。