Skip to content

Instantly share code, notes, and snippets.

@ronnieoverby
Last active December 13, 2015 20:09
Show Gist options
  • Select an option

  • Save ronnieoverby/4967982 to your computer and use it in GitHub Desktop.

Select an option

Save ronnieoverby/4967982 to your computer and use it in GitHub Desktop.
static void SqlBulkCopyExample(string connectionString, IEnumerable<Person> people)
{
using (var dataTable = new DataTable())
{
dataTable.Columns.Add("Id");
dataTable.Columns.Add("Name");
dataTable.Columns.Add("SpouseName");
dataTable.Columns.Add("BirthDate");
dataTable.Columns.Add("Salary");
dataTable.Columns.Add("IsMarried");
dataTable.Columns.Add("Gender");
foreach (var person in people)
{
var row = dataTable.NewRow();
row["Name"] = person.Name;
row["SpouseName"] = person.SpouseName;
row["BirthDate"] = person.BirthDate;
row["Salary"] = person.Salary;
row["IsMarried"] = person.IsMarried;
row["Gender"] = person.Gender;
dataTable.Rows.Add(row);
}
using (var sqlConnection = new SqlConnection(connectionString))
using (var bcp = new SqlBulkCopy(sqlConnection) { DestinationTableName = "People" })
{
sqlConnection.Open();
bcp.WriteToServer(dataTable);
sqlConnection.Close();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment