Nehmen wir an, dass wir diese Situation haben:Entity Framework (Database-First) mehrere Beziehungen zu derselben Tabelle Namenskonventionen steuern
Tabellen in der Datenbank:
Country (id, country_name), Person (id, login), CountryManager (id_country, id_person), CountryStakeholder (id_country, id_person)
Wenn wir das Modell erstellen hatte aus der Datenbank, Entity Framework Database-First Verwendung in VS würden wir eine Klasse wie haben dieses:
class Country {
int id;
string country_name;
virtual ICollection<Person> Person1; // Navigation Properties
virtual ICollection<Person> Person2; // ---------||----------
}
Ich habe den Code sehr vereinfacht, aber hoffentlich hast du es verstanden.
Scheint, dass Entity Framework, wenn es mit Fremdschlüsseln handelt, generische Navigationseigenschaften erstellt. Gibt es eine Möglichkeit zu steuern, wie Navigationseigenschaften mit Namen erstellt werden? Person1, Person2 ist leider nicht sehr erklärend.
Persönlich bevorzuge ich die Database-First-Methode. Und ich hatte viel Erfolg dabei. Ich erzwinge jedoch eine strenge Namenskonvention innerhalb meiner Datenbanken. Ich habe ein Dienstprogramm-Skript, das durch die Datenbank kräuseln und meine Fremdschlüssel umbenennen wird, um meiner Namenskonvention zu entsprechen. Zu der Zeit, wenn die FK zum EDMX kommen, machen ihre Namen Sinn. Daher macht der EDMX Sinn, und die T4s generieren Code, der Sinn ergibt. –
Können Sie das Skript teilen? Ich denke, das wäre die nächste Option zur Lösung –
@AdrianK. Hast du eine Lösung dafür gefunden? – Lijo