实体框架属性中的域逻辑

时间:2013-05-11 16:27:33

标签: asp.net entity-framework

我有一个带有域和数据层的ASP.NET MVC项目(仅包含EF和迁移)。

现在,我必须使用特定的公式验证客户的VATNumber字段,我怀疑在何处放置它。

我想使用Controller的ModelState来检查字段是否有效,使用EF DataAnnotation ValidationAttribute,因此我不必在Controller的保存方法中验证它。但是我不得不将业务逻辑放在数据层中。

ValidationAttribute是否有某种替代品,因此可以“注入”?或者我只是错误地看着这个?

1 个答案:

答案 0 :(得分:1)

验证属性不是Entity Framework的一部分。 如果您想要从表示层分割数据层,您可以使用Viewmodels并使用Automapper将它们绑定到数据模型上。在这种情况下,您可以在viewmodel上进行域验证,并在datamodel上验证datalayer。 在非常复杂的情况下,您可能有三个模型:viewmodel,domainmodel和datamodel,但在常见情况下,viewmodel和datamodel就足够了。