SQL Server批量更新数据

项目中有一个位置需要批量插入几万条数据,批量insert等待时间简直。。。用SqlBulkCopy后,之前需要1分钟左右的sql现在只要一眨眼(真的只要一眨眼)

稍后这个功能要加到另外一个项目中,另外一个项目是EF,回头更新一个EF的

 

 1        public static int BulkInsert(DataTable dt)
 2         {
 3             using (SqlConnection connection = new SqlConnection(connectionString))
 4             {
 5                 try
 6                 {
 7                     connection.Open();
 8                     using (SqlBulkCopy bulk = new SqlBulkCopy(connectionString))
 9                     {
10                         bulk.BatchSize = dt.Rows.Count;
11                         bulk.DestinationTableName = dt.TableName;
12                         for (int i = 0; i < dt.Columns.Count; i++)
13                             bulk.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);
14                         bulk.WriteToServer(dt);
15                         bulk.Close();
16                     }
17                     return dt.Rows.Count;
18                 }
19                 catch (System.Data.SqlClient.SqlException e)
20                 {
21                     throw e;
22                 }
23                 finally
24                 {
25                     connection.Close();
26                 }
27             }
28         }

 

 

1212

posted @ 2015-08-03 10:04  pappercut  阅读(799)  评论(0编辑  收藏  举报