2012-05-13 9 views
0

私はMVCとエンティティフレームワークを使用しています。私はコードの最初のデザインから始まり、[必須]と[ディスプレイ]のような属性を適用していましたが、最初にモデルを使用している場合はどうすればいいですか?私はすでに自分のデータベースモデルを作成しました。モデルファーストデザインのモデルに[Display(= "displayname"])のような属性を適用する方法は?

ありがとうございます。

答えて

1

まず、私はあなたがあなたのEdmx(?)からあなたのクラスを生成したと確信しています。そして、一つの

ソリューションは

生成されたクラスは、部分的なクラスです。

新しいクラスファイルを追加して、部分クラス(生成クラスと同じ)を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

(ノーならば、あなたはあまりにも多くの努力なしに情報のトンを見つけることができます、あなたはそれが何であるかを知っていると仮定)モデルクラスが、ViewModelに(複数可)を使用しないでくださいこれらのViewModelクラスに属性を設定します。

+0

解決策1を示すチュートリアルについては、http://www.asp.net/web-forms/tutorials/getting-started-with-ef/the-entity-framework-and-aspnet-getting-started- part-8 - サンプルアプリケーションはWebフォームですが、部分クラスの使用方法は同じです。 – tdykstra

関連する問題