Sql Server EF 批量数据录入
using (var conn = new SqlConnection(connectionString))
{
//SqlBulkCopy:大容量加载带有来自其他源的数据的 SQL Server 表
//SqlBulkCopyOptions:加载方式
using (var sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction))
{
try
{
//超时
sqlbulkcopy.BulkCopyTimeout = 600;
//数据库目标表名(如果有架构名,需要表示为 '架构名.表名')
sqlbulkcopy.DestinationTableName = tableName;
for (int i = 0; i < dt.Columns.Count; i++)
{
//列名映射:源列名-目标列名
//这里的写法需要保持DataTable和数据库表的列名一致
sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);
}
//数据写入目标表
sqlbulkcopy.WriteToServer(dt);
}
catch (System.Exception ex)
{
throw ex;
}
}
}
示例代码
参考资料
学习技术最好的文档就是【官方文档】,没有之一。
还有学习资料【Microsoft Learn】、【CSharp Learn】、【My Note】。
如果,你认为阅读这篇博客让你有些收获,不妨点击一下右下角的【推荐】按钮。
如果,你希望更容易地发现我的新博客,不妨点击一下【关注】。