Merge branch 'sqlsugar-dev' of https://gitee.com/ccnetcore/Yi into sqlsugar-dev
This commit is contained in:
@@ -14,6 +14,7 @@ namespace Yi.Framework.Model.Query
|
|||||||
public List<QueryParameter> Parameters { get; set; } = new List<QueryParameter>();
|
public List<QueryParameter> Parameters { get; set; } = new List<QueryParameter>();
|
||||||
public List<string> OrderBys { get; set; } = new List<string>();
|
public List<string> OrderBys { get; set; } = new List<string>();
|
||||||
|
|
||||||
|
public bool IsAsc { get; set; } = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class QueryCondition
|
public class QueryCondition
|
||||||
@@ -21,5 +22,7 @@ namespace Yi.Framework.Model.Query
|
|||||||
public List<QueryParameter> Parameters { get; set; } = new List<QueryParameter>();
|
public List<QueryParameter> Parameters { get; set; } = new List<QueryParameter>();
|
||||||
public List<string> OrderBys { get; set; } = new List<string>();
|
public List<string> OrderBys { get; set; } = new List<string>();
|
||||||
|
|
||||||
|
public bool IsAsc { get; set; } = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,5 +24,6 @@ namespace Yi.Framework.Repository
|
|||||||
public Task<List<S>> UseSqlAsync<S>(string sql, object parameters = null);
|
public Task<List<S>> UseSqlAsync<S>(string sql, object parameters = null);
|
||||||
public Task<bool> UseSqlAsync(string sql, object parameters = null);
|
public Task<bool> UseSqlAsync(string sql, object parameters = null);
|
||||||
ISugarQueryable<T> QueryConditionHandler(QueryCondition pars);
|
ISugarQueryable<T> QueryConditionHandler(QueryCondition pars);
|
||||||
|
Task<bool> UpdateSuperSaveAsync(T data, Expression<Func<T, object>> columns);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -144,12 +144,52 @@ namespace Yi.Framework.Repository
|
|||||||
{
|
{
|
||||||
foreach (var item in pars.OrderBys)
|
foreach (var item in pars.OrderBys)
|
||||||
{
|
{
|
||||||
query.OrderBy(item.ToSqlFilter());
|
if (pars.IsAsc)
|
||||||
|
{
|
||||||
|
query.OrderBy(item.ToSqlFilter() + " asc");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query.OrderBy(item.ToSqlFilter() + " desc");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return query.Where(sugarParamters);
|
return query.Where(sugarParamters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新高级保存,验证重复
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="list"></param>
|
||||||
|
/// <param name="columns"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<bool> UpdateSuperSaveAsync(T data, Expression<Func<T, object>> columns)
|
||||||
|
{
|
||||||
|
var x = _Db.Storageable(data)
|
||||||
|
.SplitError(it => it.Any())
|
||||||
|
.SplitUpdate(it => true)
|
||||||
|
.WhereColumns(columns)//这里用name作为数据库查找条件
|
||||||
|
.ToStorage();
|
||||||
|
return await x.AsInsertable.ExecuteCommandAsync() > 0;//插入可插入部分
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 添加高级保存,验证重复
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="list"></param>
|
||||||
|
/// <param name="columns"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<bool> InsertSuperSaveAsync(T data, Expression<Func<T, object>> columns)
|
||||||
|
{
|
||||||
|
var x = _Db.Storageable(data)
|
||||||
|
.SplitError(it => it.Any())
|
||||||
|
.SplitInsert(it => true)
|
||||||
|
.WhereColumns(columns)//这里用name作为数据库查找条件
|
||||||
|
.ToStorage();
|
||||||
|
return await x.AsInsertable.ExecuteCommandAsync() > 0;//插入可插入部分
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user