2011-05-31 83 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