在 ef 中定义验证顺序
define order of validations in ef
在带有数据注释的 ef 中,是否提供了定义验证顺序的方法?或者数据注释有固定顺序(按名称)?
这就是我的意思
public class ClassX {
[ValidationB]
public int Value1 {get;set;}
[ValidationA]
[ValidationB]
public int Value2 {get;set;}
}
首先,它应该对所有字段执行 ValidationB,然后执行 ValidationA
我知道,使用 Fluent API 是可能的,但这不是我想要的方式。
您可以使用自 EF 4.1 以来可用的少数方法之一,例如
- 实施 IValidatableObject
- DbContext.ValidateEntity
这些将在调用 SaveChanges 时验证您的实体,它们允许您编写自定义验证逻辑,从而允许指定您想要的任何顺序。
您还可以显式触发验证并处理每个错误
在带有数据注释的 ef 中,是否提供了定义验证顺序的方法?或者数据注释有固定顺序(按名称)?
这就是我的意思
public class ClassX {
[ValidationB]
public int Value1 {get;set;}
[ValidationA]
[ValidationB]
public int Value2 {get;set;}
}
首先,它应该对所有字段执行 ValidationB,然后执行 ValidationA
我知道,使用 Fluent API 是可能的,但这不是我想要的方式。
您可以使用自 EF 4.1 以来可用的少数方法之一,例如
- 实施 IValidatableObject
- DbContext.ValidateEntity
这些将在调用 SaveChanges 时验证您的实体,它们允许您编写自定义验证逻辑,从而允许指定您想要的任何顺序。
您还可以显式触发验证并处理每个错误