C# 使用SqlBulk批量插入SQLServer数据库

使用条件:(建议单次插入不要超过50W) 需要有具体的实体类,然后数据库需要手动建表 实体类属性名和表字段总数、名称必须一致 实体类名称=数据库表名称

数据库链接字段参考:Data Source=.;Initial Catalog=testDBName;Persist Security Info=True;User ID=sa;Password=12345;pooling=false;

输入参数: 需要插入的实体类List集合 数据库表名 数据库链接字段

#region SqlBulk批量插入数据库

private void SqlBulkAdd(List dateList,string tableName,string connectionNameDest)

{

SqlConnection conn = null;

try

{

conn = new SqlConnection(connectionNameDest);

//list转DataTable

DataTable dt = EntityHelper.ListToDataTable(dateList.ToList());

SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(conn);

sqlBulkCopy.DestinationTableName = "tableName";

sqlBulkCopy.BatchSize = dt.Rows.Count;

conn.Open();

//使用sqlbulk写入数据库

if (dt != null && dt.Rows.Count != 0)

{

sqlBulkCopy.WriteToServer(dt);

}

else { return; }

}

catch (Exception ex)

{

console.writln(ex.Data);

}

finally

{//释放资源

conn.Close();

conn.Dispose();

}

}

精彩链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。