У меня есть приложение MVC с пользовательской страницей входа. Модель создается Entity Framework и называется «Пользователь». Когда используется журнал, код сервера обновляет дату входа: user.LoginDate = DateTime.Now; И он отлично работает.Ошибка проверки даты MVC в Entity Framework
Но теперь я начал применять валидацию. То, что я сделал это: 1) Я создал еще один класс, сделал это частичным и названный User.cs:
[MetadataType(typeof(UserMetadata))]
public partial class User
{
[Bind]
public class UserMetadata
{
[DisplayName("Email")]
[Required(ErrorMessage="Email field is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
[StringLength(30)]
public string UserEmail { get; set; }
...
[Range(typeof(DateTime), "1/1/2010", "2/2/2024", ErrorMessage = "message")]
public Nullable<System.DateTime> LoginDate { get; set; }
}
}
А теперь у меня есть проблема. Когда EF пытается обновить базу данных, она выдает ошибку о некоторой проблеме проверки данных в коде, где я пытаюсь обновить поле LoginDate.
Если я прокомментирую этот класс, он отлично работает, без ошибок, но без проверки.
Я подумал, что, может быть, это DateTime формат, поэтому я также попробовал следующий атрибут для поля LoginDate:
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{yyyy/MM/dd HH:mm:ss tt}")]
попытался также [DisplayFormat (ApplyFormatInEditMode = истинное, DataFormatString =/дд «{ГГГГ/ММ HH: mm: ss.fff} ")]
Однако это не помогло, и это очень неприятно, потому что, когда я смотрю на свою базу данных, я вижу, что LoginDate написан в правильном формате: 2014-12 -26 19: 49: 12.247
Просьба сообщить.
Зачем нужна проверка 'LoginDate'? Это поле не является пользователем. Ваш собственный код сервера присваивает ему правильные значения. –
В большинстве примеров класс метаданных является внешним по отношению к классу, который он описывает, может быть проблемой. Кроме того, свойства метаданных имеют тип объекта. Но я только угадываю здесь. – Darek
Возможно, вам не нужны метаданные: http://www.remondo.net/entity-framework-code-first-data-annotations/ – Darek