mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-04 12:47:57 +08:00
Update BulkMerge
This commit is contained in:
parent
cbad3083ee
commit
f0b6b10b00
@ -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 =>
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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 =>
|
||||||
|
Loading…
Reference in New Issue
Block a user