diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 353f37e82..aa3a35027 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -1868,6 +1868,19 @@ namespace SqlSugar pageIndex = _PageList(pageIndex, pageSize); return ToList(); } + public virtual List ToPageList(int pageIndex, int pageSize, ref int totalNumber,Expression> expression) + { + if (this.QueryBuilder.Includes.Count > 0) + { + var list = this.ToPageList(pageIndex,pageSize,ref totalNumber).Select(expression.Compile()).ToList(); + return list; + } + else + { + var list = this.Select(expression).ToPageList(pageIndex, pageSize, ref totalNumber).ToList(); + return list; + } + } public virtual List ToPageList(int pageIndex, int pageSize, ref int totalNumber) { var oldMapping = this.Context.MappingTables; @@ -2117,6 +2130,20 @@ namespace SqlSugar pageIndex = _PageList(pageIndex, pageSize); return ToListAsync(); } + public async virtual Task> ToPageList(int pageIndex, int pageSize, RefAsync totalNumber, Expression> expression) + { + if (this.QueryBuilder.Includes.Count > 0) + { + var pList = await this.ToPageListAsync(pageIndex, pageSize, totalNumber); + var list = pList.Select(expression.Compile()).ToList(); + return list; + } + else + { + var list = await this.Select(expression).ToPageListAsync(pageIndex, pageSize, totalNumber) ; + return list; + } + } public async Task> ToPageListAsync(int pageIndex, int pageSize, RefAsync totalNumber) { var oldMapping = this.Context.MappingTables;