Moon.Orm 5.0(MQL版)分頁功能的設計(求指教,邀請您的加入)


一、分頁的分類及分析 

1)分頁的前置條件:

查詢的目標條件、第幾頁、總頁數(本質上由查詢條件決定)、每頁條數、請求地址、按照什么字段怎樣排序

2)目標結果:

數據列表,List<T>返回

3)分頁的分類

單表表名、該表的查詢條件、選擇的字段---> 解決思路不言而喻

 

  

多表情況(先以連接查詢為例)

解決思路:將整個語句 as Table_Search,然后按照數據的分頁語句進行分頁.

注:以下僅以sqlserver為例,設計時請考慮給類數據庫分頁情況不一樣.

 

如下:

var m1=ClassSet. Select(ClassSet.ClassID,ClassSet.ClassName)
                    . LeftJoin(
                    UserSet. Select(UserSet.UserID))
                    . ON(ClassSet.ClassID. Equal(UserSet.UserID))
                    . Where(UserSet.UserID. BiggerThan( 9));
 
SELECT [Class].[ClassID],[Class].[ClassName],[User].[UserID] FROM [Class] LEFT JOIN [User] ON [Class].[ClassID]=[User].[UserID]  WHERE  [User].[UserID]>@p1
@p1=9
------------->
select top 每頁條數 * from (
SELECT [Class].[ClassID],[Class].[ClassName],[User].[UserID] FROM [Class] LEFT JOIN [User] ON [Class].[ClassID]=[User].[UserID]  WHERE  [User].[UserID]>@p1
as Table_Search
 
WHERE id  NOT  IN
          (
           SELECT  TOP  每頁條數*(頁數-1) id  FROM  Table_Search  ORDER  BY id
          )
ORDER  BY id

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM