public static void ExecuteBulkCopy(ISqlConnectionProvider sqlConnectionProvider, string schemaName, string tableName, DataTable dataTable, SqlBulkCopyOptions bulkCopyOptions = SqlBulkCopyOptions.Default) { using (var sqlBulkCopy = new SqlBulkCopy(sqlConnectionProvider.GetSqlConnectionString(), bulkCopyOptions)) { schemaName = schemaName.BracketizeSafe(); tableName = tableName.BracketizeSafe(); VerifyDataTableColumnsMatchDbTableSchema(sqlConnectionProvider, schemaName, tableName, dataTable); SetColumnMappings(sqlBulkCopy, dataTable); sqlBulkCopy.BulkCopyTimeout = 480; sqlBulkCopy.BatchSize = 35000; sqlBulkCopy.DestinationTableName = $"{schemaName}.{tableName}"; sqlBulkCopy.WriteToServer(dataTable); sqlBulkCopy.Close(); } }
public IMigrationRunnerBuilder ConfigureRunner(IMigrationRunnerBuilder builder) { return(builder .AddSqlServer2016() .WithGlobalConnectionString(_sqlConnectionProvider?.GetSqlConnectionString())); }