c# - 来自列表的 SqlBulkCopy<>

标签 c# sql sql-server ado.net bulkinsert

如何从简单对象的 List<> 中使用 SqlBulkCopy 进行大插入?

我是否实现了我的自定义 IDataReader?

最佳答案

FastMember ,您无需通过 DataTable 即可执行此操作(在我的测试中,性能提高了一倍以上):

using(var bcp = new SqlBulkCopy(connection))
using(var reader = ObjectReader.Create(data, "Id", "Name", "Description"))
{
    bcp.DestinationTableName = "SomeTable";
    bcp.WriteToServer(reader);
}

请注意,ObjectReader 也可以使用非通用源,并且没有必要提前指定成员名称(尽管您可能想使用 ColumnMappings SqlBulkCopy 的方面(如果您未在 ObjectReader 本身中指定它们)。

关于c# - 来自列表的 SqlBulkCopy<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3913371/

相关文章:

mysql - 在搜索特定 SQL 时计算整个数据库

sql-server - 从别名表中删除不起作用(但选择可以)

c# - 如果不同的属性发生变化,则订阅不同的属性事件

c# - WIF 身份验证方案。 STS实现问题

mysql - SQL 中的唯一 ID 主键 - 可以自动分配吗

mysql - 如何编写SQL查询来统计满足多列条件和多列排除的值?

c# - 在 C# 中使用元组键反序列化字符串

c# - 将 byte[] 转换为 char[]

sql - 如何选择具有指定条件的不同行

sql - 有条件地将 AND 附加到 SQL Select 语句中的 where 子句