模型验证:检索Entity Framework 4.1注册的所有规则

时间:2011-10-10 15:23:44

标签: .net c#-4.0 entity-framework-4.1

我正在使用EF-1的数据库优先方法。当我在DbContext上调用GetValidationErrors()时,EF会验证已附加到上下文的所有实体,到目前为止一切正常。

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

EF可能会从给定实体的CSDL元数据中获取这些规则。有没有人提示如何获取这些内容?

THX

1 个答案:

答案 0 :(得分:0)

您可以使用Reflection迭代模型属性并选取各种Data Annotation属性。您可以专门检查ValidationAttribute。

不确定会有多大用处,除非您明确要检查特定属性(即RangeAttribute及其特定属性,如Maximum和Minimum)。这不适用于自定义验证器属性,因为您不知道要检查什么...