Wie definieren Sie Beziehungen programmgesteuert in Entity Framework 4.1 Code-Ersten Fluent-API
Ich bin Herumspielen mit der neuen EF4.1 Einhorn-Liebe.
Ich versuche zu verstehen, die verschiedenen Möglichkeiten, die ich nutzen kann code-first - zu programmatisch definieren, meine Beziehungen, die zwischen ein paar einfachen POCO ist.
Wie kann ich definieren, das folgende =>
- 1
Team
hat 0-vieleUser
s. (und einUser
ist in 1Team
) - 1
User
hat 0-oder-1Foo
's (aber einFoo
hat keine Eigenschaft wieder zu einerUser
) - 1
User
hat 1UserStuff
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier haben Sie Beispiele, die Sie suchen:
modelBuilder.Entity<User>() .HasOptional(u => u.Foo) .WithRequired();
UNDmodelBuilder.Entity<User>() .HasOptional(u => u.Foo)
? Beide erlauben würde 0-oder-1 Foo Benutzer oder?Können stellen Ihnen einige spezielle Klassen zur Veranschaulichung der Lösungen:
Ich bin mit einer helper-Klasse, um die mapping-Klassen etwas weniger ausführlich:
Nun für die Zuordnungen. Kann man die "1:1" mapping-ersten. In meinem Beispiel sind Benutzer-und account sind 1:1 verwandt und teilen die gleichen Primärschlüssel (nur einer von Ihnen wird eine identity-Spalte, in diesem Fall ist das Konto.ID).
In der folgenden Zuordnungen, die wir angeben, dass ein team hat (0..n) Benutzer, während ein einzelner user ist in genau einer Mannschaft (erforderlich). Wir geben auch, dass ein team haben ein Unternehmen, aber das Unternehmen nicht offen legen eine Liste der teams.
Hoffe, das hilft!