public void ParallelLoadTest()
{
List<datatable> tables = GetTestData();
Parallel.ForEach(tables, table =>
{
BulkLoadData(table);
}
);
}
public void BulkLoadData(DataTable dt)
{
using(SqlConnection conn = new SqlConnection("{removed connectionstring}"))
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn, SqlBulkCopyOptions.TableLock, null))
{
bulkCopy.DestinationTableName = "Dataload";
bulkCopy.BulkCopyTimeout = 60;
bulkCopy.ColumnMappings.Add("FieldA", "FieldA");
bulkCopy.ColumnMappings.Add("FieldB", "FieldB");
conn.Open();
bulkCopy.WriteToServer(dt);
bulkCopy.Close();
}
}</datatable>