可能重复:
ASP.NET MVC - Linq to Entities模型作为ViewModel - 这是一个好习惯吗?
可以使用EF实体类作为ASP.NET MVC中的视图模型吗?
如果viewmodel与EF实体类的90%相同怎么办?
假设我在Entity Framework模型中有一个Survey类.它90%匹配视图编辑所需的数据.与视图模型应该具有的唯一区别 - 是要在其中使用的一个或多个属性(填充Survey对象所需的因为EF类不能直接映射到它的属性的表示方式(子复选框,无线电组等) .))
你使用ViewData []传递它们吗?或者使用新的附加属性创建Survey类(SurveyViewModel)的副本(它应该能够从Survey复制数据并返回到它)?
编辑: 我也试图避免使用Survey作为SurveyViewModel属性.当使用UpdateModel或默认绑定器更新某些Survey属性时,看起来很奇怪,而其他(无法直接映射到实体) - 在控制器中使用SurveViewModel自定义属性.
我正在使用POCO创建一个带有EF4的MVC3应用程序.我已经为我的EF实体添加了验证属性.现在,当我构建视图时,我想使用视图模型(也许使用AutoMapper来填充它们).
我遇到的问题是我必须在我的视图模型上重新定义我的验证属性,这违反了DRY主体.例如,如果我决定更改字段的大小,我必须更改POCO和使用它的任何视图模型的MaxLength属性.
是否有一些棘手的方法可以将验证规则从我的POCO映射到我的视图模型?