分頁在前面好幾節中的列子中已經出現,現在在詳細講解一下。
有三種方法去實現:
1、Top(int topCount) 方法
在sqlserver和msaccess中其實就是top , 在oracle通過rownum實現。
2、From(int startIndex, int endIndex)
從startIndex條到endIndex條之間的記錄數。
3、Page(int pageSize, int pageIndex)
每頁pageSize條,第pageIndex頁
下面就依次對這三個方法舉例說明。
top方法:
DbSession.Default.From<Products>()
.Top(10)
.ToList();
該查詢時查詢products表中的前10條記錄,生成的sql語句如下:(如何輸出查看組件生成的sql)
Text:
SELECT TOP 10 * FROM [Products]
from方法:
DbSession.Default.From<Products>()
.From(3, 8)
.ToList();
查找第3條到第8條的數據(包括第3條和第8條),生成的sql語句如下:
Text:
SELECT * FROM
( SELECT TOP 6 * FROM
( SELECT TOP 8 * FROM [Products] ORDER BY [Products]. [ProductID] ASC)
AS tempIntable ORDER BY [ProductID] DESC)
AS tempOuttable ORDER BY [ProductID] ASC
page方法:
DbSession.Default.From<Products>()
.Page(10, 2)
.ToList();