Sql Server EF 批量数据录入

Posted Lulus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

参考资料

SqlBulkCopy 类

以上是关于Sql Server EF 批量数据录入的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET EF5 代码优先不创建 SQL Server CE 数据库

EF 分页查询优化

sql server有批量插入和批量更新的sql语句吗

EF 批量更新/删除数据

LinqPad + EF 4.1 + SQL Server CE

SQL Server 批量导入大数据