什么是在C# WPF中处理Linq数据库DataContext的最佳实践?使用全局应用程序范围内共享的DataContext,还是为每个事务打开一个自己的DataContext?
根据msdn和StackOverflow上的信息,建议为每个事务创建一个新的DataContext。但在我的情况下,我想在一个viewmodel中查找数据,并将其传递给另一个viewmodel以更改值。在更改的viewmodel中创建新的DataContext会导致对象状态不匹配。(第一个viewModel中选择的对象在第二个viewModel的DataContext中不存在,因为该对象绑定到旧的DataContext)更好地理解的顺序图。
"EditViewModel" 无法使用新的 DataContext 编辑传递的值,因为该对象与 "LookupViewModel" 的 DataContext 相关联。我想过同时传递 DataContext。但由于 LookupViewModel 调用 EditViewModel 的时间没有限制,DataContext 可能会过时(刷新是必要的)。此外,有时我从不同的 DataContext 的不同 viewModels 传递值到一个 editViewModel。
如何在另一个 DataContext 中处理来自 DataContext 的对象而不收到任何异常?或者我应该完全重新考虑整个应用程序设计吗?"