From f0190855a3aa2a5e22f0edbbd048474b8bd42212 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 24 Mar 2024 23:14:53 +0800 Subject: [PATCH] Add page over method --- .../Abstract/QueryableProvider/QueryableExecuteSql.cs | 6 ++++++ .../Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs | 6 ++++++ Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs | 2 ++ 3 files changed, 14 insertions(+) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs index 4e336d346..67de9f7e1 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs @@ -714,6 +714,12 @@ namespace SqlSugar return this.ToList(); } } + public virtual List ToOffsetPage(int pageIndex, int pageSize, ref int totalNumber, ref int totalPage) + { + var result = ToOffsetPage(pageIndex, pageSize, ref totalNumber); + totalPage = (totalNumber + pageSize - 1) / pageSize; + return result; + } public List ToOffsetPage(int pageIndex, int pageSize, ref int totalNumber) { if (this.Context.CurrentConnectionConfig.DbType != DbType.SqlServer) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs index 229ad2b44..e6058fd27 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs @@ -390,6 +390,12 @@ namespace SqlSugar var list =await this.ToPageListAsync(pageNumber, pageSize, totalNumber); return this.Context.Utilities.ListToDataTable(list); } + public async Task> ToOffsetPageAsync(int pageNumber, int pageSize, RefAsync totalNumber, RefAsync totalPage) + { + var result = await ToOffsetPageAsync(pageNumber, pageSize, totalNumber); + totalPage.Value = (totalNumber.Value + pageSize - 1) / pageSize; + return result; + } public async Task> ToOffsetPageAsync(int pageIndex, int pageSize, RefAsync totalNumber) { if (this.Context.CurrentConnectionConfig.DbType != DbType.SqlServer) diff --git a/Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs b/Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs index c9d5e5e21..01f34a418 100644 --- a/Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs +++ b/Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs @@ -265,8 +265,10 @@ namespace SqlSugar List ToOffsetPage(int pageNumber, int pageSize); List ToOffsetPage(int pageNumber, int pageSize,ref int totalNumber); + List ToOffsetPage(int pageNumber, int pageSize, ref int totalNumber,ref int totalPage); Task> ToOffsetPageAsync(int pageNumber, int pageSize); Task> ToOffsetPageAsync(int pageNumber, int pageSize, RefAsync totalNumber); + Task> ToOffsetPageAsync(int pageNumber, int pageSize, RefAsync totalNumber, RefAsync totalPage); List ToPageList(int pageNumber, int pageSize); Task> ToPageListAsync(int pageNumber, int pageSize); Task> ToPageListAsync(int pageNumber, int pageSize,CancellationToken token);