我们知道Linq-To-Sql InsertAllOnSubmit在性能方面很糟糕,但使用SqlBulkCopy进行大量插入需要一些编码。有没有人发现在InsertAllOnSubmit替代实现中使用SqlBulkCopy的任何代码/库都像原始一样简单?
答案 0 :(得分:2)
所有我发现接近产生这样一个图书馆的是这个博客: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;
}
答案 1 :(得分:1)