2

すべてのモデル クラスを含むプロジェクトがあり、MVC 4 Web アプリケーション (サービス、リポジトリ レイヤーも) を含む別のプロジェクトがあるとします。

モデル プロパティに MVC 固有のデータ アノテーションを使用したい場合、MVC に依存せずにこれを行うにはどうすればよいですか?

モデルを参照する非 MVC プロジェクトには、MVC 参照も必要です。モデルがすべてではなく MVC によって使用される場合にのみ、これらを追加することをお勧めします。

最初は部分クラスを考えていましたが、これらはクロスアセンブリを使用できないことを知っています。

クローン クラスを作成し、モデル クラスの外部でオリジナルから継承すると、機能しない場合があります。元のクラスではなく、これらの子クラスを参照するコードが必要になります。

モデルに属性をアタッチするより目立たない方法を希望します。

4

1 に答える 1

6

モデル プロパティに MVC 固有のデータ アノテーションを使用したい場合、MVC に依存せずにこれを行うにはどうすればよいですか?

ビューモデルを使用する。ビュー モデルは、MVC アプリケーションで設計および定義するクラスであり、ビューに渡されるクラスです。モデルをビューに渡してはいけません。コントローラー アクションは、ドメイン モデルのサービス レイヤーをクエリし、それらのドメイン モデルをビュー モデルにマップして、それらのビュー モデルをビューに渡すことができます。一方、[HttpPost]コントローラー アクションは、それぞれのデータ アノテーションを引数としてビュー モデルを受け取り、それらのビュー モデルを対応するドメイン モデルにマップし、ドメイン モデルをサービス レイヤーに渡す必要があります。

于 2013-07-07T15:31:48.950 に答える