POCO - если POCO означает чистый класс .net с только свойства, в которых я могу писать проверки в MVC

Очень новичок в 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). Ищу действительно отличный ответ с примером.

0
задан amit patel 11 January 2012 в 10:46
поделиться