2011-11-01 6 views
1

私は、データの永続化のためにEntity Frameworkを使用するサイトを持っています。 私はいくつかのエンティティでバディクラスシステムを使用して、データ注釈を使用して必要なフィールドにフラグを立てました。 ASP.NET MVCとそのModelStateは、そのままの状態ですぐに使用できます。 ModelStateが正しく設定されているような方法で、このビジネスロジックをバディクラスに含める方法はありますか?Entity Framework:ASP.NET ModelStateに実装されるビジネスロジックはどこに置かれますか?

この例は です。フィールドXが1の値の場合、フィールドYが必要です。

ロジックがこれより複雑になることがあります。あなた自身がIValidatableObjectするエンティティをしなければならない

答えて

3

おかげで、その後、各エラーのためにyield returnValidationResultにイテレータを使用します。

また、カスタムクラスレベルValidationAttributeを作成してバディクラスに適用することもできます。

+1

IValidatableObjectルートを訪れて、それが魅力を発揮しました - ありがとう – Sergio

4

これはcustom validator attributesと書くことで実現できました。しかし、個人的には、データ注釈の代わりにFluentValidation.NETフレームワークを使用する方が、複雑なシナリオでもカスタム検証ロジックを表現するための簡潔で簡単な方法を提供します。

+0

流暢な検証は素晴らしいと思いますし、おそらく次のプロジェクトで使用するものです – Sergio

関連する問題