当前位置:Gxlcms > 数据库问题 > Sql Server EF 批量数据录入

Sql Server EF 批量数据录入

时间:2021-07-01 10:21:17 帮助过:19人阅读

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;
		}
	}
}

示例代码

SqlServerUseEFDemo

参考资料

SqlBulkCopy 类

Sql Server EF 批量数据录入

标签:nmap   time   table   str   try   timeout   lse   var   参考   

人气教程排行