簡體   English   中英

在Linq 2 Sql中可以批量或批量插入嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM