[英]Is batch or bulk insert possible in Linq 2 Sql ?
我的场景有点奇怪,我有一个实体列表,说我列表中有十个项目,这些项目将进入三个相互关联的不同表。 我正在使用Linq 2 Sql,我需要将其插入一次命中,而不是多次迭代。
这可能吗。 我听说,在BLtoolkit中,有一个执行批量插入的InsertBatch()方法。 L2S中的任何相似之处。
有InsertAllOnSubmit
。 使用Linq To SQL,您只需设置要更改的属性即可进行更新。 然后调用SubmitChanges
将为您完成其余工作。
简而言之:不,这是不可能的。
基本上,InsertAllOnSubmit每次只是调用InsertInSubmit。 因此,这并没有太大帮助。
如果您对生成的SQL进行概要分析,则会看到您将获得很多单独的插入语句,从而导致大量开销。 无论使用InsertInSumbit还是InsertAllOnSumbit。
如果您四处搜索,您将看到一些尝试将SqlBulkCopy行为添加到Linq-2-sql。 例如: http : //blogs.microsoft.co.il/blogs/aviwortzel/archive/2008/05/06/implementing-sqlbulkcopy-in-linq-to-sql.aspx
但是,我认为您最好为批处理作业自己实现SqlBulkCopy。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.