Zuordnung von vielen zu vielen Beziehungen mit Fremdschlüsselreferenz
Dies sollte eine einfache Frage für den erfahrenen EF-Benutzer sein.
Ich habe das folgende Schema (in meinem Kopf), wie die Beziehungen zwischen den Tabellen aussehen sollten.
[FooBar] [Foo] [Bar]
FooId PK,FK Id PK Id PK
BarId PK,FK BarId FK Name
IsRead Name Description
Description
Aber wenn ich es versuchegenerieren Das Schema verwendet EF-Code. Zuerst werden die Beziehungen zwischen den Entitäten nicht so interpretiert, wie ich sie interpretiert habe. (Fügt einen Fremdschlüssel hinzu.)FooId
zum[bar]
Tabelle) und kann das nicht vollständig erstellen[FooBar]
Brückentisch.
Wenn mich jemand anleiten könnte, wie man das obige Schema mit EF4 Code-First erreicht, würde ich es begrüßen. Ob die Lösung Attribute in meinen POCO-Modellen, flüssige Konfigurationen oder eine Mischung aus beiden umfasst, spielt keine Rolle - solange das gewünschte Datenbankschema erstellt wird.
POCO-Modelle:
public class Foo
{
public int Id { get; set; }
public string Text { get; set; }
public string Description { get; set; }
public int BarId { get; set; }
public Bar Bar { get; set; } /* bar entity */
public virtual ICollection<Bar> BridgedBars { get; set; }
public Foo()
{
Bars = new List<Bar>();
}
}
public class Bar
{
public int Id { get; set; }
public string Text { get; set; }
public string Description { get; set; }
public virtual ICollection<Foo> Foos { get; set; }
public virtual ICollection<Foo> BridgedFoos { get; set; }
public Bar()
{
Foos = new List<Foo>();
BridgedFoos = new List<Foo>();
}
}
public class FooBar
{
public int FooId { get; set; }
public int BarId { get; set; }
public virtual Foo Foo { get; set; }
public virtual Bar Bar { get; set; }
public bool IsRead { get; set; }
}