我想构建一个基本的wpf/mvvm应用程序,它从具有WCF的服务器获取数据,并允许客户端显示/操作(使用CRUD操作)此数据.
到目前为止,我为这个架构考虑了类似的东西:
- "全局"模型层,实现验证,研究标准,INotifyPropertyChanged和服务合同
- 一些服务层,主要是一个用于实体框架4,实现模型层的契约,允许我访问和操作数据.
- 请注意,我想要一个离线数据源,比如XML或其他东西,因此另一个服务(我计划使用一些DI/IoC)
- WCF层
- 数据存储客户端的额外层?
- ViewModel
我对Views/ViewModel部分很清楚,但是我很难搞清楚模型,WCF和viewmodel之间的关系.
我的问题是:
- 我该如何处理EF生成的模型?摆脱它并采用代码优先方法,手动与数据库进行映射?
- 对于WCF数据传输,我的模型中是否应该有关系属性,即Product有Customer而不是CustomerId?
- 我应该在WCF和ViewModel之间有一个额外的层来存储和操作数据,还是将ViewModel直接插入WCF的最佳做法?
欢迎任何其他有关此类架构的提示......