Я разрабатываю новый сайт с ASP.NET MVC 4 (Beta), VS 11 (бета), EF 5 (бета), но этот вопрос подходит для выпущенных версий ASP .NET MVC 3, VS 2010, EF 4 тоже.DataValidation Model/ViewModel/Entity Framework Code First
Первый шаг: Я использую Entity Framework Code First подход, к примеру, у меня есть следующая модель пользователя:
public class User
{
[Key]
public int UserId {get;set;}
public String LoginName { get; set; }
public String Password { get; set; }
}
Теперь для регистрации мне нужна другая модель, модель регистрации:
public class Registration
{
public String LoginName { get; set; }
public String Password { get; set; }
public String PasswordConfirm { get; set; }
}
Здесь возникают проблемы: где я должен помещать свои аннотации DataValidation? Например, пароль должен составлять не менее 10 символов, а PasswordConfirmed должен соответствовать паролю и т. Д. Должен ли я писать это на каждой модели, которая могла бы что-то сделать с паролем (я тоже думаю, что имею модель ChangePassword)
Другое дело в том, как иметь дело с контроллером. Когда я показываю свою регистрационную ViewModel, и все в порядке, я создаю модель пользователя и назначаю переменные из Registration ViewModel?
Иногда у меня много свойств, которые поступают в базу данных, но не отображаются пользователю (внешние ключи, вычисленные значения и т. Д.).
Как подумать о СУШЕ, я не хочу повторять себя.
Какова наилучшая практика для этого?
Должно быть ясным: аннотации не нужны. Если есть более эффективные способы проверки, я буду рад, если вы их покажете.
Ну, мне не нужны аннотации. Я также могу использовать другие методы –