私はMVCとエンティティフレームワークを使用しています。コードファーストデザインから始めて、[必須]や[表示]などの属性を適用していましたが、モデルを最初に使用している場合、これを行うにはどうすればよいですか?私はすでにデータベースモデルを作成しました。
ありがとうございました。
私はMVCとエンティティフレームワークを使用しています。コードファーストデザインから始めて、[必須]や[表示]などの属性を適用していましたが、モデルを最初に使用している場合、これを行うにはどうすればよいですか?私はすでにデータベースモデルを作成しました。
ありがとうございました。
まず、Edmx(?)からクラスを生成したと確信しています。それで
ソリューション1
生成されたクラスは部分クラスです。
したがって、MetadataType属性(クラスは空にすることができます)を使用して、部分的なクラス(生成されたものと同じ)を含む新しいクラスファイルを追加できます。
また、MetadataType属性で指定されたクラスに、「生成されたクラス」のプロパティを属性とともに配置できます。
//partial class
[MetadataType(typeof(ModelClassValidation))]
public partial class ModelClass
{
}
//class used for attributes
public class ModelClassValidation
{
[Required]
[DisplayName("First Name")]
public string FirstName
{
get;
set;
}
}
解決策2
Modelクラスは絶対に使用しないでください。ただし、ViewModel(s)(そうでない場合は、あまり労力をかけなくても大量の情報を見つけることができると思います)を使用し、これらのViewModelクラスに属性を配置します。