mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-22 20:13:41 +08:00
Update .ne core project
This commit is contained in:
@@ -85,8 +85,29 @@ namespace SqlSugar
|
||||
}
|
||||
public int BulkUpdate(List<T> datas, string[] whereColumns, string[] updateColumns)
|
||||
{
|
||||
whereColumns = whereColumns.Select(x => this.entityInfo.Columns.FirstOrDefault(it => it.PropertyName.EqualCase(x) || it.DbColumnName.EqualCase(x))?.DbColumnName ?? x).ToArray();
|
||||
updateColumns = updateColumns.Select(x => this.entityInfo.Columns.FirstOrDefault(it => it.PropertyName.EqualCase(x) || it.DbColumnName.EqualCase(x))?.DbColumnName ?? x).ToArray();
|
||||
return BulkUpdateAsync(datas,whereColumns,updateColumns).ConfigureAwait(true).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
public int BulkUpdate(List<T> datas, string[] whereColumns)
|
||||
{
|
||||
return BulkUpdateAsync(datas, whereColumns).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
public async Task<int> BulkUpdateAsync(List<T> datas, string[] whereColumns)
|
||||
{
|
||||
whereColumns = whereColumns.Select(x => this.entityInfo.Columns.FirstOrDefault(it => it.PropertyName.EqualCase(x) || it.DbColumnName.EqualCase(x))?.DbColumnName ?? x).ToArray();
|
||||
var updateColumns = this.entityInfo.Columns
|
||||
.Where(it => !whereColumns.Any(z => z.EqualCase(it.DbColumnName)))
|
||||
.Where(it => !it.IsIdentity)
|
||||
.Where(it => !it.IsPrimarykey)
|
||||
.Where(it => !it.IsOnlyIgnoreUpdate)
|
||||
.Where(it => !it.IsIgnore)
|
||||
.Select(it => it.DbColumnName)
|
||||
.ToArray();
|
||||
return await BulkUpdateAsync(datas, whereColumns, updateColumns).ConfigureAwait(true);
|
||||
}
|
||||
public async Task<int> BulkUpdateAsync(List<T> datas,string [] whereColumns,string [] updateColumns)
|
||||
{
|
||||
|
||||
|
@@ -1131,7 +1131,19 @@ namespace SqlSugar
|
||||
{
|
||||
Queues = new QueueList();
|
||||
}
|
||||
this.Queues.Add(sql, this.Context.Ado.GetParameters(parsmeters));
|
||||
var pars = this.Context.Ado.GetParameters(parsmeters);
|
||||
if (pars != null)
|
||||
{
|
||||
foreach (var par in pars)
|
||||
{
|
||||
if (par.ParameterName.StartsWith(":"))
|
||||
{
|
||||
par.ParameterName = ("@" + par.ParameterName.Trim(':'));
|
||||
}
|
||||
}
|
||||
}
|
||||
this.Queues.Add(sql, pars);
|
||||
|
||||
}
|
||||
public void AddQueue(string sql, SugarParameter parsmeter)
|
||||
{
|
||||
|
@@ -385,6 +385,23 @@ namespace SqlSugar
|
||||
AppendSets();
|
||||
return this;
|
||||
}
|
||||
public IUpdateable<T> SetColumnsIF(bool isUpdateColumns, Expression<Func<T, object>> filedNameExpression, object fieldValue)
|
||||
{
|
||||
if (isUpdateColumns)
|
||||
{
|
||||
return SetColumns(filedNameExpression, fieldValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
return this;
|
||||
}
|
||||
}
|
||||
public IUpdateable<T> SetColumns(Expression<Func<T, object>> filedNameExpression, object fieldValue)
|
||||
{
|
||||
var name= UpdateBuilder.GetExpressionValue(filedNameExpression,ResolveExpressType.WhereSingle).GetString();
|
||||
name = UpdateBuilder.Builder.GetNoTranslationColumnName(name);
|
||||
return SetColumns(name, fieldValue);
|
||||
}
|
||||
public IUpdateable<T> SetColumns(Expression<Func<T, T>> columns)
|
||||
{
|
||||
ThrowUpdateByObject();
|
||||
|
@@ -23,6 +23,8 @@ namespace SqlSugar
|
||||
int BulkUpdate(List<T> datas);
|
||||
Task<int> BulkUpdateAsync(List<T> datas);
|
||||
int BulkUpdate(List<T> datas, string[] whereColumns, string[] updateColumns);
|
||||
int BulkUpdate(List<T> datas, string[] whereColumns);
|
||||
Task<int> BulkUpdateAsync(List<T> datas, string[] whereColumns);
|
||||
Task<int> BulkUpdateAsync(List<T> datas, string[] whereColumns, string[] updateColumns);
|
||||
int BulkUpdate(string tableName,DataTable dataTable, string[] whereColumns, string[] updateColumns);
|
||||
int BulkUpdate(DataTable dataTable, string[] whereColumns, string[] updateColumns);
|
||||
|
@@ -70,7 +70,8 @@ namespace SqlSugar
|
||||
IUpdateable<T> SetColumns(Expression<Func<T, T>> columns);
|
||||
IUpdateable<T> SetColumns(string fieldName,object fieldValue);
|
||||
|
||||
|
||||
IUpdateable<T> SetColumns(Expression<Func<T,object>> filedNameExpression, object fieldValue);
|
||||
IUpdateable<T> SetColumnsIF(bool isUpdateColumns, Expression<Func<T, object>> filedNameExpression, object fieldValue);
|
||||
IUpdateable<T> UpdateColumnsIF(bool isUpdateColumns,Expression<Func<T, object>> columns);
|
||||
IUpdateable<T> UpdateColumnsIF(bool isUpdateColumns, params string[] columns);
|
||||
|
||||
|
Reference in New Issue
Block a user