2008-09-25 59 views
1

我們開發Win32應用程序,通過Linq to SQL訪問SQL 2005數據庫。問題是,當2個用戶訪問相同的記錄(查看和編輯)...用戶1更新記錄(DataContext.SubmitChanges()),用戶2將繼續看到舊信息,直到他重新啓動應用程序。因此,我們想更新用戶2的上下文......現在出現的解決方案是調用DataContext.Refresh將對象與SQL表同步...我們想知道是否存在其他解決方案?Linq To SQL緩存VS多用戶應用程序

謝謝

回答

4

我注意到,刷新可真討厭取決於你已經從實體抓起數據,另一種解決方案是重置您正在使用一個新的實例的上下文。

context = new MyDataContext(ConnectionString); 

至少在我使用它的場景中,開銷少,數據庫調用少。

+0

這個問題是當我們想更新附加到前一個DataContext實例的實體時...一個DataContext.SubmitChanges調用什麼都沒有更新,因爲沒有檢測到變化......所以,我想我需要重新附加實體到新的數據上下文 – 2008-09-25 17:49:52