前にブログでこれを行う方法を見たことがありますが、どこでどのように忘れましたか。クラスライブラリにドメインがあるとします。私はデータをWebプロジェクトのビューモデルとしてこのドメインのプロパティに注釈を付けたいと思います。ASP.NET MVCデータWebプロジェクトのドメインモデルに注釈を付ける
どうすればよいですか?
たとえば、このドメインは、私のクラスライブラリである:
私のWebプロジェクトでpublic class Person {
public int Id {get; set;}
public string FirstName {get; set;}
}
、これがあります:
//Do i need to set some attribute here?
public class CreatePersonViewModel{
[Required()]
[DisplayName("First Name")]
public string FirstName {get; set;}
}
このコードは、ツールなしPerson
にマッピングすることができます。おそらく部分的か何か。
いいえ、ここで属性を設定する必要がある場合は属性を設定する必要はありません。コントローラアクションのパラメータタイプが 'CreatePersonViewModel'である場合、検証属性は' ModelState'が有効かどうかを判断するために実行されます。 –
私はメタデータクラスの使用を促すすべての答えを下げました。メタデータのバディークラスは、ドメインや懸念事項の分離の目的を完全に無効にします。 UIはあなたのUIを指し示すドメインではなく、あなたのドメイン内を指し示すべきです。それは落胆すべき恐ろしい習慣です。 – jfar
@jfar:厳密に言えば、メタデータクラスは懸念を分けています。軽くやることではありませんが。あなたのモデルが生成された場合は、実際のプロパティに注釈を付けることはできませんが、実際のプロパティには属性を追加する可能性が非常に高いでしょう部分クラス定義。 –