Update BulkMerge

This commit is contained in:
sunkaixuan 2023-10-04 20:35:58 +08:00
parent cbad3083ee
commit f0b6b10b00
5 changed files with 5 additions and 5 deletions

View File

@ -48,7 +48,7 @@ namespace SqlSugar
dt.TableName = "#temp"; dt.TableName = "#temp";
} }
public async virtual Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns, List<T> datas) public async virtual Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns, List<T> datas) where T : class, new()
{ {
var result = 0; var result = 0;
await this.Context.Utilities.PageEachAsync(datas,2000,async pageItems => await this.Context.Utilities.PageEachAsync(datas,2000,async pageItems =>

View File

@ -18,6 +18,6 @@ namespace SqlSugar
Task<int> ExecuteBulkCopyAsync(DataTable dt); Task<int> ExecuteBulkCopyAsync(DataTable dt);
Task CreateTempAsync<T>(DataTable dt) where T : class, new(); Task CreateTempAsync<T>(DataTable dt) where T : class, new();
void CloseDb(); void CloseDb();
Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns,List<T> datas); Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns,List<T> datas) where T : class, new();
} }
} }

View File

@ -67,7 +67,7 @@ namespace SqlSugar
} }
public override Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns,List<T> datas) public override Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns,List<T> datas) where T : class
{ {
Check.Exception(this.entityInfo.Columns.Any(it => it.OracleSequenceName.HasValue()), "The BulkMerge method cannot be used for sequence", "BulkMerge方法不能用序列"); Check.Exception(this.entityInfo.Columns.Any(it => it.OracleSequenceName.HasValue()), "The BulkMerge method cannot be used for sequence", "BulkMerge方法不能用序列");
var sqlBuilder = this.Context.Queryable<object>().SqlBuilder; var sqlBuilder = this.Context.Queryable<object>().SqlBuilder;

View File

@ -66,7 +66,7 @@ namespace SqlSugar
copy.BulkCopyTimeout = this.Context.Ado.CommandTimeOut; copy.BulkCopyTimeout = this.Context.Ado.CommandTimeOut;
return copy; return copy;
} }
public override Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns, List<T> datas) public override Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns, List<T> datas) where T : class
{ {
var sqlBuilder = this.Context.Queryable<object>().SqlBuilder; var sqlBuilder = this.Context.Queryable<object>().SqlBuilder;
var insertColumns = entityInfo.Columns var insertColumns = entityInfo.Columns

View File

@ -176,7 +176,7 @@ namespace SqlSugar
return result; return result;
} }
public async Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns, List<T> datas) public async Task<int> Merge<T>(DataTable dt, EntityInfo entityInfo, string[] whereColumns, string[] updateColumns, List<T> datas) where T : class, new()
{ {
var result = 0; var result = 0;
await this.Context.Utilities.PageEachAsync(datas, 2000, async pageItems => await this.Context.Utilities.PageEachAsync(datas, 2000, async pageItems =>