2012-06-18 1 views
2

Compte tenu de la classe:remplacement pour [Affichage] Attributs

public class Item 
{ 
    [Key] 
    public int ID { get; set; } 

    [Display] 
    public string Name { get; set; } 

    public string Observation { get; set; } 
    public DateTime? Done { get; set; } 
} 

Je sais que je peux définir mon [Key] Attributs et d'autres paramètres de mappage de créer une classe de cartographie dans un autre projet et héritant de EntityTypeConfiguration.

mais comment puis-je remplacer l'attribut [display] pour ne pas avoir à ajouter une référence à System.ComponentModel.DataAnnotations à ma DLL commune?

me dire si je ne suis pas assez clair

+3

Il n'y a rien de mal à référencer les DataAnnotations. – SLaks

+0

duplication possible de [ajouter des annotations de données par programme] (http://stackoverflow.com/questions/8394564/add-data-annotations-programmatically) –

Répondre

1

Vous pouvez créer votre propre attribut, puis écrire une classe qui hérite AssociatedMetadataProvider et lit les données à partir de votre attribut dans une instance ModelMetadata. Votre classe serait similaire ou identique à la classe built-in version.

+0

merci. je m'inquiétais de réinventer la roue –