mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2026-02-27 06:03:09 +08:00
Add db.BulkCopy
This commit is contained in:
@@ -85,10 +85,29 @@ namespace SqlSugar
|
||||
}
|
||||
public int BulkUpdate(List<T> datas, string[] whereColumns, string[] updateColumns)
|
||||
{
|
||||
whereColumns = whereColumns.Select(x => this.entityInfo.Columns.First(it => it.PropertyName.EqualCase(x) || it.DbColumnName.EqualCase(x)).DbColumnName).ToArray();
|
||||
updateColumns = updateColumns.Select(x => this.entityInfo.Columns.First(it => it.PropertyName.EqualCase(x) || it.DbColumnName.EqualCase(x)).DbColumnName).ToArray();
|
||||
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)
|
||||
{
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user