可能重复:
ASP.NET MVC-将Linq to Entities模型用作ViewModel-这是一个好的实践吗?
在ASP.NET MVC中将EF实体类用作视图模型是否可行?
如果视图模型有90%与EF实体类相同怎么办?
假设我有一个Survey类在Entity Framework模型中。它与编辑视图所需的数据匹配90%。 与视图模型应该具有的唯一区别是要在其中使用一些属性(这些属性需要用于填充Survey对象,因为EF类无法直接映射到其属性的表示方式(子复选框,单选按钮组等)。
您是否使用ViewData []传递它们?还是创建一个Survey类的副本(SurveyViewModel),其中包含新的附加属性(它应该能够从Survey复制数据并返回到它)?
编辑: 我也试图避免将Survey用作SurveyViewModel属性。 当使用UpdateModel或默认绑定程序更新某些Survey属性时,而其他属性(无法直接映射到实体的属性)-在控制器中使用SurveViewModel自定义属性时,它会看起来很奇怪。