Очень плохо знаком с POCO, нашел несколько ссылок Google, но нашел много разных историй.Некоторые связаны с платформой Entity, отложенной загрузкой и т. Д. Некоторые говорят, что это чистый класс .det.Atleast MSDN.
ССЫЛКА ДЛЯ ОПРЕДЕЛЕНИЯ POCO ИЗ MSDN: msdn.microsoft.com / en-us / library / dd456872.aspx
Я доверяю MSDN (простое определение) и предположим, что это чистый класс .NET.
Теперь позвольте мне перейти к сути.ЕСЛИ это чистый класс .net, имеющий только свойства внутри него, то он эквивалентен «МОДЕЛИ» в MVC.пример.
[Required(ErrorMessage = "Full Name required.")]
[StringLength(20, ErrorMessage = "Username must be under 20 chars.")]
public string UserName { get; set; }
[Required(ErrorMessage = "Email required.")]
[RegularExpression(".+@.+\\..+", ErrorMessage = "Email not valid.")]
public string Email { get; set; }
[Required(ErrorMessage = "PassWord required.")]
[StringLength(20, ErrorMessage = "Maximum 20 chars. allow")]
[DataType(DataType.Password)]
public string Password { get; set; }
До этого уровня мне это понятно.Теперь, если я хочу написать свою собственную проверку (условную) в MODEL, используя
ValidationAttribute или
IValidatableObject
, это будет не чистый класс .net, если я не ошибаюсь.пример .... (что-то вроде ниже)
public class Wizard : ValidationAttribute,IValidatableObject
{
public override bool IsValid(object value)
{
return base.IsValid(value);
}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
throw new NotImplementedException();
}
[Required(ErrorMessage = "Full Name required.")]
[StringLength(20, ErrorMessage = "Username must be under 20 chars.")]
public string UserName { get; set; }
[Required(ErrorMessage = "Email required.")]
[RegularExpression(".+@.+\\..+", ErrorMessage = "Email not valid.")]
public string Email { get; set; }
[Required(ErrorMessage = "PassWord required.")]
[StringLength(20, ErrorMessage = "Maximum 20 chars. allow")]
[DataType(DataType.Password)]
public string Password { get; set; }
}
Это все еще POCO?Если да, то как он может содержать методы. (Напротив ссылки MSDN) Если НЕТ, где я должен записать свой код проверки (конечно, условная проверка в MVC).Ищете действительно хороший ответ на примере.