Using BulkInsert - adamfoneil/SqlServerUtil GitHub Wiki
The BulkInsert static class offers methods to copy rows quickly, unchanged, from one connection to another. You can also use it to within a single connection to save records from a DataTable
. It works by building a multi-valued SQL INSERT statement from selected rows of a DataTable
. There are actually a bunch of overloads listed below:
- Task OffsetExecuteAsync (SqlConnection sourceConnection, DbObject sourceObject, string orderBy, int offsetSize, SqlConnection destConnection, DbObject destObject, int batchSize, [ BulkInsertOptions options ])
- Task ChunkExecuteAsync (SqlConnection sourceConnection, DbObject sourceObject, string chunkColumn, int chunkCount, SqlConnection destConnection, DbObject destObject, int batchSize, [ BulkInsertOptions options ])
- Task ExecuteAsync (SqlConnection sourceConnection, string sourceQuery, SqlConnection destConnection, DbObject destObject, int batchSize, [ BulkInsertOptions options ])
- Task ExecuteAsync (SqlConnection sourceConnection, DbObject sourceObject, SqlConnection destConnection, DbObject destObject, int batchSize, [ BulkInsertOptions options ])
- Task ExecuteAsync (SqlConnection sourceConnection, string sourceObject, SqlConnection destConnection, string destObject, int batchSize, [ BulkInsertOptions options ])
- Task ExecuteAsync (DataTable sourceData, SqlConnection destConnection, DbObject destObject, int batchSize, [ BulkInsertOptions options ])
- Task ExecuteAsync (DataTable sourceData, SqlConnection destConnection, string destObject, int batchSize, [ BulkInsertOptions options ])
- Task ExecuteAsync (IEnumerable sourceData, SqlConnection destConnection, DbObject destObject, int batchSize, params Expression<Func<T, object>>[] columns)
- Task<StringBuilder> GetSqlStatementsAsync (string intoTable, DataTable dataTable, [ BulkInsertOptions options ])
- Task<StringBuilder> GetSqlStatementsAsync (DbObject intoTable, DataTable dataTable, [ BulkInsertOptions options ])
- IEnumerable<MultiValueInsert> GetMultiValueInserts (DbObject intoTable, IEnumerable rows, int batchSize, params Expression<Func<T, object>>[] columns)