为编辑配置文件视图定义单独的视图模型或使用用户模型(DRY与方便)

时间:2010-10-28 04:22:16

标签: c# .net asp.net asp.net-mvc entity-framework

对于“编辑个人资料”页面,所有项目均来自用户实体。像电子邮件,密码,全名,城市等等。我正在使用ASP .NET MVC2和Entity Framework 4.我想知道我是否应该为我的EditProfile View创建一个单独的ProfileModel,或者我是否应该只使用User实体由EF创建。我的困境是,如果我创建了一个ProfileModel,那么我会重复自己(因为所有属性都在User模型中),但另一方面,如果我使用User模型,那么我不知道我怎么能添加属性(如[DisplayName(“Password”)]),因为自动生成用户模型。

我意识到MVC附带的AccountModel会定义单独的模型,这些模型重复已经在User中的密码和用户名等字段。

1 个答案:

答案 0 :(得分:2)

您可以(并且应该)使用“好友类”为现有实体类添加验证属性。请参阅ScottGu的这篇文章,并在页面上搜索“buddy class”以查找具体信息:

http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx