2011-05-31 75 views
0

我正在尝试确定执行分页的最佳方法。与TSQL,MVC3和SubSonic分页?

我有使用亚音速抓取数据的两个选项:

1)itemDatumCollection.LoadAndCloseReader(sp.GetReader()); 或 2)itemsDataSet = sp.GetDataSet();

两个我都访问相同的存储过程。有没有简单的方法与LoadAndCloasReader()分页?

我可以通过客户端上的GetDataSet加载所有数据 - 比如说4000行,但似乎没有必要,而且当我使用LoadAndCloseReader()时,这个数据量超过了我的WCF绑定参数(我认为设置相当不错)它返回一个复杂的对象:

maxBufferSize="20000000" maxBufferPoolSize="524288" maxReceivedMessageSize="20000000" 

那么一两件事情我想:

1)是GetDataSet()快了回传的数据 - 我不需要复杂的集合对象(这是刚刚好时编码)?

2)如何使用我的TSQL sproc执行分页?

谢谢。

+0

如果您使用的是SP,那么我认为您必须在SP内手动进行分页。 – Eranga 2011-05-31 23:26:51

回答

0

我在MVVM中使用了更多的方法,而不是MVC。我预先加载了所有数据,然后允许用户使用jQuery分页控件对其进行分页,从而最大限度地减少对数据库的返回调用。初始响应时间稍长(但限制为100条记录),但为用户提供了快速分页。我使用了Simple Pager jQuery plugin