POCO非常新,找到一些谷歌鏈接,但發現了許多不同的故事。一些與實體框架,延遲加載等相關聯。有些人說它是一個純粹的.det類。 Atleast MSDN。POCO - 如果POCO意味着純屬.net類只有屬性,我可以在MVC中編寫驗證
鏈接DEFINE POCO FROM MSDN: msdn.microsoft.com/en-us/library/dd456872.aspx
我相信MSDN(一個簡單的認定中),並假定它是一個純.NET類。
現在讓我來談談。 如果它是純粹的.net類,只有它內部的屬性,而不是在MVC中等同於「MODEL」。例如 。
[Required(ErrorMessage = "Full Name required.")]
[StringLength(20, ErrorMessage = "Username must be under 20 chars.")]
public string UserName { get; set; }
[Required(ErrorMessage = "Email required.")]
[RegularExpression("[email protected]+\\..+", 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類,如果我沒看錯的寫在MODEL 我自己的驗證(條件)。 例如......(類似下面)
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("[email protected]+\\..+", 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中進行條件驗證)。 尋找一個真正偉大的答案與一個例子。
那不是我的答案我在找什麼?你說的雙方(我可以添加邏輯和其他是不繼承類...),簡單的問題,是在MODEL的變化使它POCO或NONPOCO – 2012-01-11 10:50:06
@amitpatel添加額外的方法不會讓你的POCO一個非 - POCO。 – Eranga 2012-01-11 10:53:52