Поле подтверждения пароля - расширение или состав - PullRequest
0 голосов
/ 17 января 2011

Добрый день!

У меня, скажем, простая сущность LINQ2SQL под названием User.Мне нужна страница профиля, где требуется поле для подтверждения пароля.Я не хочу добавлять это поле в мою базу данных или сущность.Я хотел бы добавить класс ViewModel.Моя первая попытка выглядит так:

[MyClassLevelAttributeToCheckPasswordAndPasswordConfirmation]
public class ProfileUser
{
    public User UserEntity {get; set;}

    [DisplayName("Password confirmation")]
    public string PasswordConfirmation {get; set;}
}

Мой User класс имеет свою собственную проверку и метаданные.

Есть ли лучшее решение?

Заранее спасибо!

1 Ответ

0 голосов
/ 18 января 2011

Не используйте ваши классы моделей внутри представлений.Используйте простые модели:

[MyClassLevelAttributeToCheckPasswordAndPasswordConfirmation]
public class ChangePasswordViewModel
{
    public string Password { get; set; }

    [DisplayName("Password confirmation")]
    public string PasswordConfirmation {get; set;}
}

Как вы можете видеть, мы добавили только свойства, относящиеся к изменению представления пароля (или любого представления, которое вы реализуете).Таким образом, вы можете иметь детальный контроль валидации в контексте данного представления. AutoMapper может помочь вам вернуть вашу модель из представленной модели.

...