DataAnnotations和Application Validation Block之间的区别是什么?
答案 0 :(得分:9)
DataAnnotations是一个基于属性的模型,用于“注释”您的数据,它位于.NET框架本身。最明显的用途是用于验证,例如ASP.NET MVC。验证应用程序块本身是一个验证框架,由Microsoft P& P团队创建,但它不是.NET框架的一部分。它还包含“注释”数据的属性,在其最新版本(5.0)中包含从DataAnnotations继承的属性,使其可以在某种程度上与DataAnnotations互换。
验证应用程序块或整个企业库实际上更侧重于企业开发。 VAB允许更复杂的场景。例如,它允许您将验证规则放在配置文件中,或者(通过一些工作)在代码中。它还允许称为“规则集”的功能,允许对验证进行分组并仅触发对象上的单组规则。没有太多你不能做与VAB有关的验证,但这当然是有代价的。价格很复杂。虽然设计得当,VAB也不容易学习,因为我还在学习用它做事的新方法。
与DataAnnotations相比,DataAnnotations非常简单,但在涉及更复杂的场景时也非常有限。