定义ef中的验证顺序

时间:2017-04-03 14:38:38

标签: c# entity-framework data-annotations

在带有数据注释的ef中,有没有办法定义验证的顺序?或者数据注释是固定顺序(按名称)?

这就是我的意思

public class ClassX {

    [ValidationB]
    public int Value1 {get;set;}

    [ValidationA]
    [ValidationB]
    public int Value2 {get;set;}
}

首先,它应该对所有字段执行ValidationB,然后执行ValidationA

我知道,使用Fluent API是可能的,但这不是我想去的方式。

1 个答案:

答案 0 :(得分:0)

您可以使用自EF 4.1以来的少数几种方法之一

  • 实施IValidatableObject
  • DbContext.ValidateEntity

这些将在调用SaveChanges时验证您的实体,它们允许您编写自定义验证逻辑,从而允许指定您想要的任何订单。

您还可以显式触发验证并处理每个错误

http://bundler.io/v1.14/man/bundle-install.1.html