這個在SQL2005之後最見的一種分頁方式,也是Linq預設生成的執行分頁的方法(skip,take),當然在性能上小數量沒有問題,在數據達到百萬時會很慢,這是我們要清楚的,有時我們在LINQ環境下也需要分頁寫SQL,這時如何去分佈就成為了一個很不好處理的問題,所以大叔還是把準備的分頁代碼貢獻一下D...
這個在SQL2005之後最見的一種分頁方式,也是Linq預設生成的執行分頁的方法(skip,take),當然在性能上小數量沒有問題,在數據達到百萬時會很慢,這是我們要清楚的,有時我們在LINQ環境下也需要分頁寫SQL,這時如何去分佈就成為了一個很不好處
理的問題,所以大叔還是把準備的分頁代碼貢獻一下
DECLARE @pageSize INT ; DECLARE @pageIndex INT ; SET @pageSize = 5 SET @pageIndex =2 ; --第二頁,每頁顯示5條數據 SELECT * FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY CreateDate ASC ) AS 'rowNumber' , * FROM dbo.Task_Info ) AS temp WHERE rowNumber BETWEEN ( ( ( @pageIndex - 1 ) * @pageSize ) + 1 ) AND ( @pageIndex * @pageSize )
在LINQ環境下使用SQL代碼如下
Db.Database.SqlQuery<FighterTaskTotalDTO>("你的代碼")
結果