1

ドメインとデータ層 (EF と移行のみを含む) を持つ ASP.NET MVC プロジェクトがあります。

ここで、クライアントの VATNumber フィールドを特定の数式で検証する必要がありますが、どこに配置すればよいかわかりません。

コントローラーの ModelState を使用して、EF DataAnnotation ValidationAttribute を使用してフィールドが有効かどうかを確認したいので、コントローラーの保存メソッドで検証する必要はありません。しかし、ビジネス ロジックをデータ層に入れなければならないことに私は葛藤しています。

ValidationAttribute に代わるものがあるので、「注入」できますか? それとも、私はこれを間違って見ているだけですか?

4

1 に答える 1

1

検証属性は、Entity Framework の一部ではありません。プレゼンテーション層からデータ層を分割したい場合は、Viewmodels を使用し、それらを Automapper を使用してデータモデルにバインドできます。この場合、ビューモデルにドメイン検証を配置し、データモデルにデータレイヤーの検証を配置します。非常に複雑なケースでは、viewmodel、domainmodel、および datamodel の 3 つのモデルがある場合がありますが、一般的なケースでは、viewmodel と datamodel で十分です。

于 2013-05-11T16:36:05.187 に答える