.net - 是否有使用 SqlBulkCopy 的替代 InsertAllOnSubmit 实现的库?

标签 .net sql-server linq-to-sql

我们知道 Linq-To-Sql InsertAllOnSubmit 在性能方面很糟糕,但是使用 SqlBulkCopy 进行批量插入需要一些编码。有没有人发现在 InsertAllOnSubmit 替代实现中使用 SqlBulkCopy 的代码/库与原始代码/库一样简单易用?

最佳答案

我发现接近生成这样一个库的是这个博客:Batch Updates and Deletes with LINQ to SQL

我认为这是朝着正确方向迈出的一步

编辑: 关于有关 GetDeleteBatchCommand 的评论。它在源代码中。这是代码:

private static DbCommand GetDeleteBatchCommand<TEntity>(this Table<TEntity> table, IQueryable<TEntity> entities) where TEntity : class
    {
        var deleteCommand = table.Context.GetCommand(entities);
        deleteCommand.CommandText = string.Format("DELETE {0}\r\n", table.GetDbName()) + GetBatchJoinQuery<TEntity>(table, entities);
        return deleteCommand;
    }

关于.net - 是否有使用 SqlBulkCopy 的替代 InsertAllOnSubmit 实现的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1510203/

相关文章:

c# - 是否有可用的纯 C# ZeroConf 、 bonjour 或 dns-sd ?

c# - DateTime.Compare 没有按预期工作

sql-server - NVARCHAR(MAX) - 作为 SQL 存储过程输出参数

sql-server - 在 SQL 中遍历多个 CSV

sql-server - 添加并填充列或添加持久计算列?

asp.net - LINQ to SQL Web 应用程序最佳实践

c# - 分组而不复制供应商行

c# - 为什么 AssemblyResolve 不起作用?

C#:是否应该将 ""分配给字符串以使其为空?

c# - 使用 Moq 对 LINQ to SQL CRUD 操作进行单元测试