【发布时间】:2014-07-23 14:49:08
【问题描述】:
我正在尝试为我的 WPF+MVVM+EF 6.1 应用程序找出最佳模型,在观看了许多 EF 课程和博客之后,我对如何做到这一点有点困惑。在 WPF 中对应用程序建模时,需要 INotifyPropertyChanged、Observablecollection 并添加一些额外的计算属性(不保存在数据库中)。我正在考虑这个解决方案:
- 更改 EF T4 模板并实现 INotifyPropertyChanged,将集合更改为 Observablecollection 并在部分类中添加其他字段。这带来了与 EF 模型的绑定,但看起来简单且易于维护;
- 为域对象使用单独的类并在它们之间重写数据——例如使用自动映射器。这具有关注点分离,但所有更新和插入的实体都必须转换为适当的 EF 实体。
- 实现将 EF 类嵌套在新类中的新类,并封装所有属性并跟踪更改 - 另一方面,这会带来冗余代码。
不涉及编写冗余代码的最佳解决方案是什么?
【问题讨论】:
-
视图模型怎么样?
-
ViewModel 怎么样?整个问题是如何在 ViewModel 中使用 EF 模型——当我从数据库中获取模型时,如何同步和绑定它?如何在模型和视图模型之间同步数据?直接用in还是用其他模型同步?
标签: wpf entity-framework mvvm