Odwzorowanie wielu na wiele relacji z odniesieniem do klucza obcego
To powinno być proste pytanie dla sprawdzonego użytkownika EF.
Mam następujący schemat (w mojej głowie), jak powinny wyglądać relacje między tabelami.
[FooBar] [Foo] [Bar]
FooId PK,FK Id PK Id PK
BarId PK,FK BarId FK Name
IsRead Name Description
Description
Chociaż, kiedy próbujęGenerować schemat używający kodu EF - najpierw nie interpretuje relacji między jednostkami, tak jak je zinterpretowałem (dodaje klucz obcyFooId
do[bar]
tabeli) i nie w pełni tworzy[FooBar]
stół mostowy.
Jeśli ktoś mógłby mi pomóc w uzyskaniu powyższego schematu za pomocą kodu EF4 - najpierw bym to docenił. To, czy rozwiązanie obejmuje atrybuty w moich modelach POCO, płynne konfiguracje czy hybryda obu nie ma większego znaczenia - o ile tworzony jest pożądany schemat bazy danych.
Modele POCO:
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; }
}