Очень новичок в POCO, нашел несколько ссылок в Google, но нашел много разных историй. Некоторые из них связаны с фреймворком Entity, ленивой загрузкой и т. Д. Некоторые говорят, что это чистый класс .det. По крайней мере, 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; }
До этого уровня мне все ясно. Теперь, если я хочу написать свою собственную проверку (условную) в МОДЕЛИ с использованием
ValidationAttribute или
IValidatableObject
это будет не чистый класс .net, если я не ошибаюсь. пример .... (что-то вроде ниже)
public class Wizard : ValidationAttribute,IValidatableObject
{
public override bool IsValid(object value)
{
return base.IsValid(value);
}
public IEnumerable 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). Ищу действительно отличный ответ с примером.