This commit is contained in:
sunkaixuna 2021-11-18 02:54:01 +08:00
parent 556b2b248e
commit 0b5c9a1e91

View File

@ -46,7 +46,7 @@ namespace SqlSugar
var isAuto = this.context.CurrentConnectionConfig.IsAutoCloseConnection;
this.context.CurrentConnectionConfig.IsAutoCloseConnection = false;
DataTable dt = ToDdateTable(datas);
IFastBuilder buider = new SqlServerFastBuilder();
IFastBuilder buider = GetBuider();
buider.Context = context;
await buider.CreateTempAsync<T>(dt);
await buider.ExecuteBulkCopyAsync(dt);
@ -67,6 +67,31 @@ namespace SqlSugar
#endregion
#region Helper
private SqlServerFastBuilder GetBuider()
{
switch (this.context.CurrentConnectionConfig.DbType)
{
case DbType.MySql:
break;
case DbType.SqlServer:
return new SqlServerFastBuilder();
case DbType.Sqlite:
break;
case DbType.Oracle:
break;
case DbType.PostgreSQL:
break;
case DbType.Dm:
break;
case DbType.Kdbndp:
break;
case DbType.Oscar:
break;
default:
break;
}
throw new Exception(this.context.CurrentConnectionConfig.DbType + "开发中");
}
private DataTable ToDdateTable(List<T> datas)
{
DataTable tempDataTable = ReflectionInoCore<DataTable>.GetInstance().GetOrCreate("BulkCopyAsync" + typeof(T).FullName, () => queryable.Where(it => false).ToDataTable());