6

DataAnnotations 和应用程序验证块有什么区别?

4

1 回答 1

9

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

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

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

于 2010-08-25T16:30:43.857 回答