diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Dm/SqlBuilder/DmBlukCopy.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Dm/SqlBuilder/DmBlukCopy.cs index a1d59330b..4a96f5a8e 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Dm/SqlBuilder/DmBlukCopy.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Dm/SqlBuilder/DmBlukCopy.cs @@ -5,7 +5,7 @@ using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; - +using Dm; namespace SqlSugar { public class DmBlukCopy @@ -25,7 +25,7 @@ namespace SqlSugar return WriteToServer(); } DataTable dt = GetCopyData(); - SqlBulkCopy bulkCopy = GetBulkCopyInstance(); + DmBulkCopy bulkCopy = GetBulkCopyInstance(); bulkCopy.DestinationTableName = InsertBuilder.GetTableNameString; try { @@ -49,11 +49,12 @@ namespace SqlSugar return WriteToServer(); } DataTable dt=GetCopyData(); - SqlBulkCopy bulkCopy = GetBulkCopyInstance(); + DmBulkCopy bulkCopy = GetBulkCopyInstance(); bulkCopy.DestinationTableName = InsertBuilder.GetTableNameString; try { - await bulkCopy.WriteToServerAsync(dt); + bulkCopy.WriteToServer(dt); + await Task.Delay(0); } catch (Exception ex) { @@ -71,7 +72,7 @@ namespace SqlSugar return 0; Check.Exception(dt.TableName == "Table", "dt.TableName can't be null "); dt = GetCopyWriteDataTable(dt); - SqlBulkCopy copy = GetBulkCopyInstance(); + DmBulkCopy copy = GetBulkCopyInstance(); copy.DestinationTableName = this.Builder.GetTranslationColumnName(dt.TableName); copy.WriteToServer(dt); CloseDb(); @@ -100,16 +101,16 @@ namespace SqlSugar result.TableName = dt.TableName; return result; } - private SqlBulkCopy GetBulkCopyInstance() + private DmBulkCopy GetBulkCopyInstance() { - SqlBulkCopy copy; + DmBulkCopy copy; if (this.Context.Ado.Transaction == null) { - copy = new SqlBulkCopy((SqlConnection)this.Context.Ado.Connection); + copy = new DmBulkCopy((DmConnection)this.Context.Ado.Connection); } else { - copy = new SqlBulkCopy((SqlConnection)this.Context.Ado.Connection, SqlBulkCopyOptions.CheckConstraints, (SqlTransaction)this.Context.Ado.Transaction); + copy = new DmBulkCopy((DmConnection)this.Context.Ado.Connection, DmBulkCopyOptions.Default, (DmTransaction)this.Context.Ado.Transaction); } if (this.Context.Ado.Connection.State == ConnectionState.Closed) {