我在Silverlight项目中使用EF 4.1,由于一些原因,我直接使用WCF而不使用RIA服务。现在,由EF生成的模型实体可以附加到/可拆卸到datacontext,并且不觉得绕过不同的层,特别是到视图是一个非常好的主意。
我已经阅读了一点,我知道我可以创建自己的类(Q1。这些类叫做ViewModel类吗?),它们主要具有自动属性,只需要显示和验证所需的一些逻辑,我可以使用库像auto-mapper一样在EF实体和我的(viewmodel ??)类之间来回映射。
我想知道是否有可以用来从EF实体生成这些类的库/实用程序?我有多个具有许多属性的实体可以在开发过程中发生变化,我不想手动创建这些类,并且每当我必须更改EF模型实体时都要更改/维护这些类。
我希望我明白我要问的是什么;如果没有让我知道,我会尝试详细说明和/或发布一些例子。
由于
答案 0 :(得分:0)
ViewModel是“视图模型”。
您的ViewModel应该公开实际的实体对象而不是它的各个属性。例如。如果您的客户实体具有Forename,Surname和Age属性,则您将拥有Customer SelectedCustomer
属性或List<Customer> AllCustomers
属性,而不是Forename,Surname,Age等。
将View的DataContext设置为所需ViewModel的实例,并使用绑定来查看/更新ViewModel的各种属性,在本例中为Customer.Forename,Customer.Surname等。
ViewModel将实现INotifyPropertyChanged接口,以便在其任何属性发生更改时引发消息,以通知View任何更改并更新View。