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; }
}

questionAnswers(1)

yourAnswerToTheQuestion