数据库
首页 > 数据库> > Sql Server EF 批量数据录入

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

示例代码

SqlServerUseEFDemo


标签:数据录入,EF,sqlbulkcopy,SqlBulkCopy,Server,SqlBulkCopyOptions,表名,var,new
来源: https://blog.51cto.com/u_15180952/2732458