美好的一天!
我说,简单的LINQ2SQL实体名为User
。我需要一个需要密码确认字段的个人资料页面。我不想将此字段添加到我的数据库或实体。我想添加ViewModel类。我的第一次尝试是这样的:
[MyClassLevelAttributeToCheckPasswordAndPasswordConfirmation]
public class ProfileUser
{
public User UserEntity {get; set;}
[DisplayName("Password confirmation")]
public string PasswordConfirmation {get; set;}
}
我的User
类有自己的验证和元数据。
有没有更好的解决方案?
提前致谢!
答案 0 :(得分:0)
不要在视图中使用任何模型类。使用普通视图模型:
[MyClassLevelAttributeToCheckPasswordAndPasswordConfirmation]
public class ChangePasswordViewModel
{
public string Password { get; set; }
[DisplayName("Password confirmation")]
public string PasswordConfirmation {get; set;}
}
正如您所看到的,我们只将属性与更改密码视图(或您正在实施的任何视图)相关联。这样,您就可以在给定视图的上下文中获得精细的验证控件。 AutoMapper可以帮助您从视图模型中恢复模型。