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