在C#WPF中處理Linq數據庫DataContext的最佳方式(練習)是什麼?使用在每個viewModel中共享的全局應用程序範圍的DataContext,或者爲每個事務打開一個自己的DataContext?Linq DataContext最佳實踐
根據關於msdn和StackOverflow的信息,建議爲每個事務創建一個新的DataContext。但在我的情況下,我想在一個視圖模型中查找數據並將它們傳遞給另一個視圖模型來更改值。在更改視圖模型中創建新的DataContext會導致對象狀態不匹配。 (在第一視圖模型的選擇的對象不存在於第二視圖模型的DataContext的存在,由於對象綁定到較舊的DataContext)序列圖以更好地理解
的「EditViewModel」是不能夠使用新的DataContext編輯傳遞的值,因爲該對象與「LookupViewModel的」DataContext相關。
我想過關於傳遞DataContext。但是由於LookupViewModel在調用editViewModel時沒有時間限制,因此DataContext可能會過時。 (刷新將是必不可少的)。此外,有時我從不同的DataContexts值的不同viewModel傳遞給一個editViewModel。
我怎麼能踏在其他的DataContext從一個DataContext對象,而不接受任何例外?或者我不應該完全重新考慮整個應用程序設計?
有一個不錯的博客阿布t進入某些解決方案的DataContext範圍。它適用於實體框架,但同樣適用於linq http://mehdi.me/ambient-dbcontext-in-ef6/ – Mats391