【发布时间】:2011-07-19 20:54:25
【问题描述】:
这是基于书中的示例: Gary McLean Hall 的 Pro WPF 和 Silverlight MVVM
作者只坚持如何为数据库结构创建模型(以及如何为它实现 DAL)。
我正在寻找创建 ViewModel(s) 的正确方法。
这是database model and the MVVM Model- 我怀疑它不是很完整,但是产品缺少产品代码:
我的视图将是:显示/编辑产品、客户和订单视图的页面 我熟悉实现/使用 INotifyPropertyChange 和 ObservableCollection 的模型/视图模型,无需坚持。
我的问题:
- 如何创建 ViewModel 以使它们共享相同的模型
- 如何管理 ViewModel?我是否有一个聚合所有特定视图的主视图模型?这与 ViewModel 状态保存和恢复有关。
我对如何处理这个问题特别感兴趣:订单模型有一个产品列表。我还必须为我的 ProductsViewModel 维护一个产品列表,该列表支持产品的显示/编辑视图。怎么能全部同步? OrderModel 是否应该只有一个 ProductCode 列表?在这种情况下会有什么影响?
一般来说,我在这里追求的是:如何为实现具有多对多关系的数据库表(如产品订单)的模型创建和管理 ViewModel。我们是只使用外键作为模型对象的一部分,还是使用对由该外键表示的整个其他模型对象的引用?
【问题讨论】:
-
保持每个 ViewModel 独立和轻量级是要走的路。根据向用户显示的视图加载适当的视图模型。
-
你能给我一个简单的例子来实现一个视图的 OrderViewModel 显示给定客户的订单列表。 ViewModel 应该如何引用 Model?
标签: silverlight windows-phone-7 mvvm