DataAnnotations或Application Validation块

jga*_*fin 6 .net validation block data-annotations

什么是DataAnnotations和应用程序验证块之间的区别?

Ste*_*ven 9

DataAnnotations是一个基于属性的模型,用于"注释"您的数据,它位于.NET框架本身.最明显的用途是用于验证,例如ASP.NET MVC.验证应用程序块本身是一个验证框架,由Microsoft P&P团队创建,但它不是.NET框架的一部分.它还包含"注释"数据的属性,在其最新版本(5.0)中包含从DataAnnotations继承的属性,使其可以在某种程度上与DataAnnotations互换.

验证应用程序块或整个企业库实际上更侧重于企业开发.VAB允许更复杂的场景.例如,它允许您将验证规则放在配置文件中,或者(通过一些工作)在代码中.它还允许称为"规则集"的功能,允许对验证进行分组并仅触发对象上的单组规则.没有太多你不能做与VAB有关的验证,但这当然是有代价的.价格很复杂.虽然设计得当,VAB也不容易学习,因为我还在学习用它做事的新方法.

与DataAnnotations相比,DataAnnotations非常简单,但在涉及更复杂的场景时也非常有限.