2010-12-07 70 views
1

我已經使用基本的DataContext來創建對象,然後將它們提交到數據庫中。哪個DataContext方法會更快?

已經自己寫了幾個測試,看看哪個是快速的,但只是想知道哪種方法被認爲是以下的最佳實踐。

代碼遍歷一個循環並實例化一個將被保存到數據庫的對象。它是更好地:

1)創建對象的列表,然後和分配給每個創建的對象的列表,然後在最終用途

MyDataContext.InsertAllOnSubmit(ListOfObjects) 

2)使用每個創建的對象直接分配到的DataContext

MyDataContext.InsertOnSubmit(Object) 

希望這是有道理的,如果有人需要更多的信息讓我知道!

感謝

回答

1

我假設我們正在談論對提交事件的性能影響 - 當調用這些方法時沒有立即打開數據庫連接。

由於每個實現只會在提交時更新數據庫,它們都非常相似。 任何性能差異都是微不足道的(並且會受到任何將對象放入列表或列舉列表的操作的反作用),因此請在設計中更好地適用。

您可能會發現這個網頁約過早優化有趣 - http://c2.com/cgi/wiki?PrematureOptimization

過早的優化是 一切罪惡的根源 - 高德納。

1

我想第二個選項,你就需要重新打開每個操作的連接。使用清單更清潔並且是更好的選擇。

+2

這些方法都不會觸及數據庫。他們只會將方法添加到調用Submit方法時將要提交的列表中,因此它們在性能上會非常相似。 – 2010-12-07 07:20:56