Update .ne core project

This commit is contained in:
sunkaixuan
2022-09-12 15:31:11 +08:00
parent 86ffe4c5cc
commit b59c3a1385
5 changed files with 55 additions and 2 deletions

View File

@@ -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)
{

View File

@@ -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)
{

View File

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

View File

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

View File

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