值得注意的是:其分頁功能是“伺服器段分頁”,而不是一次性将資料下載下傳到用戶端去分頁。我做過試驗,用戶端分頁如果資料超過3500行,直接報錯 (使用的DataGrid和DataPager顯示資料,WCF RIA Service傳遞資料)。而DomainDataSource控件采用伺服器分頁就沒有此問題,并且分頁是自動的,不需要自己手動Skip,Take 了。為了驗證DomainDataSource控件是如何做到伺服器端分頁的,我們可以使用Sql Server Profiler工具,對傳到伺服器端的SQL語句進行跟蹤。
如果要使用分頁功能,必須OrderBy我們的資料。用戶端資料:
、
這裡我們設定了每次查詢加載30行資料,每頁顯示15行,也就是說每翻2頁查詢一次資料庫。
我們發現TOP (30) 了,并且每次分頁執行了2次查詢:
1)取得總查詢行數,用于DataPager分頁
2)分頁算法,使用了臨時表,算法很通用,不知道性能如何?