模型验证:检索实体框架4.1注册的所有规则



我在EF4.1中使用db优先的方法。当我在DbContext上调用GetValidationErrors()时,EF会验证所有附加到上下文的实体,到目前为止,这很好。

我的问题是是否有可能在进行验证之前检索给定EF模型的所有注册验证规则?我想以一种特殊的方式处理它们并将它们公开给我的前端客户端。

EF可能从给定实体的CSDL元数据中获取这些规则。有人能告诉我怎么才能拿到这些吗?

thx

您可以使用Reflection来遍历模型属性并挑选各种Data Annotation属性。您可以专门检查ValidationAttribute

不确定这有多大用处,除非你明确地想要检查特定的属性(例如:RangeAttribute及其特定属性(如Maximum和Minimum)。这将不工作与自定义验证器属性,但因为你不知道要检查什么…

最新更新