mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-22 20:13:41 +08:00
Add reload
This commit is contained in:
@@ -894,7 +894,7 @@ namespace SqlSugar
|
||||
|
||||
public virtual List<TResult> ToList<TResult>(Expression<Func<T, TResult>> expression)
|
||||
{
|
||||
if (this.QueryBuilder.Includes.Count > 0)
|
||||
if (this.QueryBuilder.Includes != null && this.QueryBuilder.Includes.Count > 0)
|
||||
{
|
||||
var list = this.ToList().Select(expression.Compile()).ToList();
|
||||
return list;
|
||||
@@ -905,6 +905,20 @@ namespace SqlSugar
|
||||
return list;
|
||||
}
|
||||
}
|
||||
public async virtual Task<List<TResult>> ToListAsync<TResult>(Expression<Func<T, TResult>> expression)
|
||||
{
|
||||
if (this.QueryBuilder.Includes != null && this.QueryBuilder.Includes.Count > 0)
|
||||
{
|
||||
var result = await this.ToListAsync();
|
||||
var list = result.Select(expression.Compile()).ToList();
|
||||
return list;
|
||||
}
|
||||
else
|
||||
{
|
||||
var list = await this.Select(expression).ToListAsync();
|
||||
return list;
|
||||
}
|
||||
}
|
||||
public virtual ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, TResult>> expression)
|
||||
{
|
||||
Check.ExceptionEasy(this.QueryBuilder.Includes.HasValue(), $"use Includes(...).ToList(it=>new {typeof(TResult).Name} {{...}} )", $"Includes()后面禁使用Select,正确写法: ToList(it=>new {typeof(TResult).Name}{{....}})");
|
||||
@@ -1870,7 +1884,7 @@ namespace SqlSugar
|
||||
}
|
||||
public virtual List<TResult> ToPageList<TResult>(int pageIndex, int pageSize, ref int totalNumber,Expression<Func<T, TResult>> expression)
|
||||
{
|
||||
if (this.QueryBuilder.Includes.Count > 0)
|
||||
if (this.QueryBuilder.Includes!=null&&this.QueryBuilder.Includes.Count > 0)
|
||||
{
|
||||
var list = this.ToPageList(pageIndex,pageSize,ref totalNumber).Select(expression.Compile()).ToList();
|
||||
return list;
|
||||
@@ -2130,9 +2144,9 @@ namespace SqlSugar
|
||||
pageIndex = _PageList(pageIndex, pageSize);
|
||||
return ToListAsync();
|
||||
}
|
||||
public async virtual Task<List<TResult>> ToPageList<TResult>(int pageIndex, int pageSize, RefAsync<int> totalNumber, Expression<Func<T, TResult>> expression)
|
||||
public async virtual Task<List<TResult>> ToPageListAsync<TResult>(int pageIndex, int pageSize, RefAsync<int> totalNumber, Expression<Func<T, TResult>> expression)
|
||||
{
|
||||
if (this.QueryBuilder.Includes.Count > 0)
|
||||
if (this.QueryBuilder.Includes!=null&&this.QueryBuilder.Includes.Count > 0)
|
||||
{
|
||||
var pList = await this.ToPageListAsync(pageIndex, pageSize, totalNumber);
|
||||
var list = pList.Select(expression.Compile()).ToList();
|
||||
|
@@ -134,6 +134,7 @@ namespace SqlSugar
|
||||
TResult Avg<TResult>(Expression<Func<T, TResult>> expression);
|
||||
Task<TResult> AvgAsync<TResult>(Expression<Func<T, TResult>> expression);
|
||||
List<TResult> ToList<TResult>(Expression<Func<T, TResult>> expression);
|
||||
Task<List<TResult>> ToListAsync<TResult>(Expression<Func<T, TResult>> expression);
|
||||
List<T> ToList();
|
||||
List<T> SetContext<ParameterT>(Expression<Func<T,object>> thisFiled, Expression<Func<object>> mappingFiled, ParameterT parameter);
|
||||
List<T> SetContext<ParameterT>(Expression<Func<T, object>> thisFiled1, Expression<Func<object>> mappingFiled1, Expression<Func<T, object>> thisFiled2, Expression<Func<object>> mappingFiled2, ParameterT parameter);
|
||||
@@ -176,8 +177,10 @@ namespace SqlSugar
|
||||
List<T> ToPageList(int pageNumber, int pageSize);
|
||||
Task<List<T>> ToPageListAsync(int pageNumber, int pageSize);
|
||||
List<T> ToPageList(int pageNumber, int pageSize, ref int totalNumber);
|
||||
List<TResult> ToPageList<TResult>(int pageIndex, int pageSize, ref int totalNumber, Expression<Func<T, TResult>> expression);
|
||||
List<T> ToPageList(int pageNumber, int pageSize, ref int totalNumber,ref int totalPage);
|
||||
Task<List<T>> ToPageListAsync(int pageNumber, int pageSize, RefAsync<int> totalNumber);
|
||||
Task<List<TResult>> ToPageListAsync<TResult>(int pageIndex, int pageSize, RefAsync<int> totalNumber, Expression<Func<T, TResult>> expression);
|
||||
Task<List<T>> ToPageListAsync(int pageNumber, int pageSize, RefAsync<int> totalNumber, RefAsync<int> totalPage);
|
||||
ISugarQueryable<T> WithCache(string cacheKey,int cacheDurationInSeconds = int.MaxValue);
|
||||
ISugarQueryable<T> WithCache(int cacheDurationInSeconds = int.MaxValue);
|
||||
|
Reference in New Issue
Block a user