2010-02-04 57 views
2

我正在考慮 - 爲了它來獲取高性能的應用程序 - 讓單一的DataContext中進行選擇和更新緩存....NET的LINQ到SQL異步提交

爲了在保持responsetimes低,我想創建像我下面寫了個異步更新:

public void AsyncInsert() 
{ 
    DataContext dc = new DataContext(); 
    dc.MessageTable.InsertOnSubmit(new Message("test1")); 
    dc.MessageTable.InsertOnSubmit(new Message("test2")); 
    dc.MessageTable.InsertOnSubmit(new Message("test3")); 

    dc.AsynchronousSubmitChanges(); // delegate to other thread 
} 

是這樣的可能或沒有並行線程寫入同一DataContext的任何問題,甚至想像的嗎?

回答

1

我想你在這裏有幾個問題。首先,如果我正確記得,L2S數據庫上下文對象不是線程安全的。我嘗試過使用多線程並遇到問題。其次,你想保持你的數據上下文對象在最短的時間內保持活動狀態。這是一個沉重的重量物體。因此,您想實例化它,快速完成工作併發布它。

+0

+1您的數據上下文有點像您的工作單元。 – Perpetualcoder 2010-02-04 20:28:36