在linq2sql中是否可以批量或批量插入?

本文关键字:插入 linq2sql 是否 | 更新日期: 2023-09-27 18:06:47

我的场景有点奇怪,我有一个实体列表,假设列表中有10个项目,它们将进入三个不同的表,相互关联。我使用Linq 2 Sql,我需要插入它在一个单一的命中,而不是多次迭代。

这可能吗?我听说,在BLtoolkit中有InsertBatch()方法执行批量插入。

在linq2sql中是否可以批量或批量插入?

InsertAllOnSubmit。使用Linq To SQL,您只需设置要为更新更改的属性。然后拨打SubmitChanges将为您完成其余的工作。

总之:不,不可能。

InsertAllOnSubmit基本上只是每次调用InsertOnSubmit。所以这并没有多大帮助。

如果您对生成的SQL进行概要分析,您将看到您将获得许多单独的插入语句,从而导致大量开销。无论使用InsertOnSumbit还是InsertAllOnSumbit

如果你谷歌一下,你会看到一些尝试添加SqlBulkCopy行为到Linq-2-sql。例如:http://blogs.microsoft.co.il/blogs/aviwortzel/archive/2008/05/06/implementing-sqlbulkcopy-in-linq-to-sql.aspx

然而,我认为你可能会更好地实现SqlBulkCopy自己的批处理作业