Überschreiben Entity Framework-Entity-Eigenschaft
Habe ich eine Entität in EF benanntes Profil und ich würde gerne hinzufügen von Daten zur annotation-Attribute "FirstName" Eigenschaft dieser Entität so habe ich eine neue partielle Klasse wie so;
public partial class Profile : EntityObject
{
[Required]
[Display(Name = "First Name")]
[EdmScalarPropertyAttribute(EntityKeyProperty = false, IsNullable = false)]
[DataMemberAttribute()]
override public global::System.String FirstName
{
get
{
return _FirstName;
}
set
{
OnFirstNameChanging(value);
ReportPropertyChanging("FirstName");
_FirstName = StructuralObject.SetValidValue(value, false);
ReportPropertyChanged("FirstName");
OnFirstNameChanged();
}
}
}
Aber ich bin immer dabei;
The type 'CC.Models.Profile' already contains a definition for 'FirstName'
Irgendwelche Ideen?
Grüße,
Ryan
InformationsquelleAutor Platypus Maximus | 2011-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du leider nicht ändern können. Erstellen Sie eine Metadaten-Klasse, und fügen Sie die Metadaten-Attribute dieser Klasse. Siehe folgenden link:
http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.metadatatypeattribute.aspx
Haben Sie einen Blick auf diese link, um zu sehen, einige Probleme mit der Erzeugung eines Metadaten-Klasse, was ich normalerweise tun ist, wenn ich etwas ändern, ich habe gerade die Regeneration des metadataclass durch das hinzufügen eines neuen Dienstes und das löschen der service hinterher und dann verschmelzen die zwei halten meine alten änderungen und halten Sie die neu hinzugefügte Personen.
InformationsquelleAutor TBohnen.jnr
Können Sie leider hinzufügen von Anmerkungen zu den Eigenschaften erzeugt, die in die POCO.
Eine mögliche Problemumgehung ändern Sie die TT-Vorlage zum hinzufügen von benutzerdefinierten annotation, die Sie für die gegebene Eigenschaft+Entität, die Sie ansprechen möchten nur.
Ich hatte das gleiche Problem in einem früheren Projekt, als ich verwenden wollte, die Enterprise Library zu implementieren Validierung. Ich landete eine partielle Klasse, - schreiben und-Methoden eingerichtet mit Annotationen statt.
In Ihrem Fall, können Sie versuchen, zu erstellen, die in einer partiellen Klasse eine Eigenschaft (mit einem anderen Namen) , gibt die EF entity-Eigenschaft mit einer Anmerkung an der Spitze.
InformationsquelleAutor Hady
Ich glaube, Sie haben, um Ihre Eigenschaft als Teil-als auch.
Eigentlich denke ich, werden Sie auch wollen, um die zu entfernen, überschreiben (weil Sie nicht überschreiben Eltern-Eigenschaft.)
InformationsquelleAutor taylonr