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);