Entity Framework Model First
-
Hallo zusammen
Habe mir mit dem EntityFramwork eine Datenbank erzeugt nach dem Modelfirst Prinzip.
Der Modeldesigner ist ja ganz nett und nimmt einem einige Arbeit ab. Aber er ist auch teilweise sehr buggy.
Nur mal so als Beispiel. Ich erzeuge eine Entität Student und eine Entität Highschool. Danach mach ich eine Zuordnung von Student 1 zu Highschool *.
In Student habe ich nun eine Navigationseigenschaft Highschools und in Highschools eine Navigationseigenschaft Student. Nun stelle ich fest dass ja die Beziehung andersrum sein sollte. Also eine Highschool wird von mehreren Studenten besucht. Wenn ich im Eigenschaftsdialog nun die Multiplizitäten ändere verändern sich die Navigationseigenschaften aber nicht.
In Student steht immer noch Higschools und auch andersrum. Da muss man immer verdammt aufpassen.
Nun aber zu meiner eigentlichen Frage. Ich habe eine n zu n Beziehung. Es wird eine Zwischentabelle erzeugt. In der Zwischentabelle sind nun die Keys der beiden anderen Tabellen hinterlegt. Allerdings im Plural. Was mir nicht ganz passt.
Also wenn ich eine Tabelle Student habe und dort habe ich eine ID drin. Dann steht in der Zwischentabelle Students_ID anstatt Studend_ID. Wieso dass denn. Kann man das irgendwie lösen?
-
Das is doch erst mal scheiss egal1^^
-
Hat mir jemand vieleicht noch eine qualifiziertere Antwort
-
braunbär schrieb:
Hat mir jemand vieleicht noch eine qualifiziertere Antwort
Die meisten lassen dies wohl den ORM für sie erledigen. Daher wird das kaum einer wissen, ob man dies machen kann. Womöglich geht es sogar überhaupt nicht, weil es wirklich völlig egal ist
Wieso willst du das denn unbedingt haben? Wieso spielt das eine Rolle?
Grüssli
-
@braunbär
Hängt der Modeldesigner da wirklich automatisch ein "s" an?
Oder gibt man den Namen für die Navigationseigenschaft - wie ich vermute - selbst ein?Falls man den selbst eingibt, dann benenne die Navigationseigenschaften einfach im Singular.
Plural-Namen in Datenbanken sind sowieso doof. (OK, Streitfrage, aber ich finde sie doof.)
-
hustbaer schrieb:
Plural-Namen in Datenbanken sind sowieso doof. (OK, Streitfrage, aber ich finde sie doof.)
Bei Ruby on Rails ist das sogar Konvention
-
Was ist dort Konvention?
Dass hustbaer Pluralnamen doof findet?Ne, aber im Ernst: Pluralnamen sind Konvention oder das nicht-verwenden von Pluralnamen?
Und Antworte jetzt bloss nicht mit "ja"!!!
-
Haha, ja als ich mein Beitrag gelesen haben dacht ich mir das so ne Antwort kommt. Aber da bin ich selbst dran schuld.
In Rails gibts ja das Paradigma "Convention over Implementation" und da sind Pluralnamen bei Datenbanken die Regel
-
Meiner Meinung nicht ganz egal.
Also bei einer n zu n Beziehung wird eine Navigationseigenschaft der anderen Entität hinzugefügt. Und das dann in der Mehrzahl. Da wird in der Tat ein s angefügt. Also in der Tabelle Higschool hat dann einen Eintrag Students. Mach ja auch Sinn. Über diese Eigenschaft ruft man dann ja die Liste der Studenten im Objekt Highscools ab.
Aus diesem Eintrag wird nun auch der Key erzeugt: Students_ID
Das Problem und deshalb ist es mir nicht ganz egal. Wenn ich eine 1 zu n Beziehung habe fügt er mir zwar in der Entität zu 1 auch eine Navigationseigenschaft im Plural hinzu. Allerdings bennent er den Key hier ohne s.
Also nicht konsistent. Und das nervt beim programmieren.
-
Ich arbeite nicht mit Model First/Database First, weiß aber das die Konventionen geändert werden können (Ich glaube Eigenschaften des Diagrammes, in dem man die Klassen stehen hat).
Was ich gefunden habe: http://stackoverflow.com/questions/10739011/plural-table-names-with-entity-frameworks-model-first
-
Ja man kann pauschal die pluralisierung abschalten. Aber das möchte ich ja nicht. Sondern nur bei den Keys.
Na ja seis drum.Dann halt nicht.