mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-09 02:44:58 +08:00
-
This commit is contained in:
@@ -18,11 +18,19 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public int BulkCopy(List<T> datas)
|
public int BulkCopy(List<T> datas)
|
||||||
{
|
{
|
||||||
return BulkCopyAsync(datas).GetAwaiter().GetResult();
|
return BulkCopyAsync(datas).ConfigureAwait(true).GetAwaiter().GetResult();
|
||||||
}
|
}
|
||||||
public async Task<int> BulkCopyAsync(List<T> datas)
|
public async Task<int> BulkCopyAsync(List<T> datas)
|
||||||
{
|
{
|
||||||
|
DataTable dt = ToDdateTable(datas);
|
||||||
|
IFastBuilder buider = new SqlServerFastBuilder();
|
||||||
|
buider.Context = context;
|
||||||
|
var result = await buider.ExecuteBulkCopyAsync(dt);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private DataTable ToDdateTable(List<T> datas)
|
||||||
|
{
|
||||||
DataTable tempDataTable = ReflectionInoCore<DataTable>.GetInstance().GetOrCreate("BulkCopyAsync" + typeof(T).FullName, () => queryable.Where(it => false).ToDataTable());
|
DataTable tempDataTable = ReflectionInoCore<DataTable>.GetInstance().GetOrCreate("BulkCopyAsync" + typeof(T).FullName, () => queryable.Where(it => false).ToDataTable());
|
||||||
var dt = new DataTable();
|
var dt = new DataTable();
|
||||||
foreach (DataColumn item in tempDataTable.Columns)
|
foreach (DataColumn item in tempDataTable.Columns)
|
||||||
@@ -51,12 +59,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
dt.Rows.Add(dr);
|
dt.Rows.Add(dr);
|
||||||
}
|
}
|
||||||
IFastBuilder buider = new SqlServerFastBuilder();
|
|
||||||
buider.Context = context;
|
|
||||||
var result= await buider.ExecuteBulkCopyAsync(dt);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
return dt;
|
||||||
|
}
|
||||||
private object ValueConverter(EntityColumnInfo columnInfo,object value)
|
private object ValueConverter(EntityColumnInfo columnInfo,object value)
|
||||||
{
|
{
|
||||||
if (value == null)
|
if (value == null)
|
||||||
|
|||||||
Reference in New Issue
Block a user