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
{
SqlConnection conn = null;
try
{
conn = new SqlConnection(connectionNameDest);
//list转DataTable
DataTable dt = EntityHelper.ListToDataTable
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();
}
}
精彩链接
发表评论