2016-09-07 16 views
0

私は間違っていることをインターネットで2日間精算しました。チュートリアルと質問/回答は、すべて同じソリューションを示しています。データベースファーストエンティティフレームワークでメタデータ属性が適用されていません

[MetadataType(typeof(PEOPLE_Metadata))] 
public partial class PEOPLE { } 

public class PEOPLE_Metadata 
{ 
    [DisplayName("Social Security Number")] 
    public string SSN { get; set; } 
} 

問題はこれが私のために働いていないということです。私のビューでPEOPLEクラスのプロパティをクロールすると、SSNプロパティには属性もカスタム属性も示されません。 PEOPLEクラスにはMetadataType属性があることがわかります。私はクラスを別々のファイル、同じファイル、部分的な内部のメタデータクラス、2つの別々のもの、部分的な、内部の、密閉された、公開された、すべてのものに設定してみました。私は文字通り、なぜこれが私のために働いていないのか分かりません。

私を助けてください。

人々クラスは以下の通りである:それは私はリフレクションを通じてプロパティのメタデータ属性を参照しようとしていることを強調する価値があるかもしれ

public partial class PEOPLE 
{ 
    public int ID { get; set; } 
    public string SSN { get; set; } 
    public string NAME { get; set; } 
} 

。より多くの研究はメタデータ属性を引き出し、メタデータクラスのPEOPLE_Metadataに反映する方法を示しましたが、実際に行われている反射クロールの量を最小限に抑えることをお勧めします。

+0

に動作しますか? –

+0

また、MetaDataクラスとEntityクラスの両方のネームスペースは何ですか?両方の名前空間が同じであることを確認してください。 –

+0

私の投稿を更新しました。名前空間は両方のクラスで同じです(Intellisenseを使用して自分自身を再確認します)。 – Pfhoenix

答えて

0

これは、あなたが、あなたのエンティティモデル `PEOPLE`をしてください投稿でき

internal sealed class AgencyReferredToMetadata 
{ 
    //since this is used in a modal, we are really only using the error text 
    //of the validationSummary not the ValidationMessageFor 
    [Required(ErrorMessage = "AgencyReferredTo is required.")] 
    public string AgencyReferredTo1 { get; set; } 

} 

//http://stackoverflow.com/questions/14059455/adding-validation-attributes-with-an-entity-framework-data-model 
[System.ComponentModel.DataAnnotations.MetadataType(typeof(AgencyReferredToMetadata))] 
public partial class AgencyReferredTo : IEntity 
関連する問題