简单问题(使用WPF / C#,MVVM,实体框架):
我有两个非模态对话框窗口。两个窗口都使用相同的实体。 但是两个不同的ViewModels
,因为ViewModel是在两个窗口的构造函数中创建的,因此有两个不同的ObjectContexts
。
问题:两个ViewModels
使用两个不同的ObjectContexts
(EF),但我需要让两个窗口同步。也就是说,当用户在一个窗口中更改某些实体时,应通知第二个实体。实体显示为详细列表。
请问,在MVVM中如何做到这一点的主要方式是什么?
答案 0 :(得分:2)
我想你需要在这里退后一步。在我看来,你真正想要的是在两个不同的窗口共享一个ViewModel,那你为什么不这样做呢?将ViewModel的创建责任从这两个窗口的ctors中移除,并将其置于负责使用共享ViewModel实例实例化Windows的内容中。