1

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

现在,我必须使用特定公式验证客户的 VATNumber 字段,我怀疑将其放置在哪里。

我想使用控制器的 ModelState 来检查字段是否有效,使用 EF DataAnnotation ValidationAttribute,所以我不必在控制器的保存方法中验证它。但是我很矛盾不得不将业务逻辑放在数据层中。

是否有某种替代 ValidationAttribute,因此可以“注入”?还是我只是看错了?

4

1 回答 1

1

验证属性不是实体框架的一部分。如果您想从表示层拆分数据层,您可以使用 Viewmodels 并使用 Automapper 将它们绑定到数据模型上。在这种情况下,您将域验证放在视图模型上,并将数据层验证放在数据模型上。在非常复杂的情况下,您可能拥有三个模型:viewmodel、domainmodel 和 datamodel,但在常见的情况下 viewmodel 和 datamodel 就足够了。

于 2013-05-11T16:36:05.187 回答