Mapeo de muchos a muchos relación con referencia de clave externa

Esta debería ser una pregunta simple para el usuario EF bien versado.

Tengo el siguiente esquema (en mi cabeza) de cómo deben verse las relaciones entre las tablas.

[FooBar]      [Foo]          [Bar]

FooId PK,FK   Id PK          Id PK
BarId PK,FK   BarId FK       Name
IsRead        Name           Description
              Description    

Aunque, cuando intentogenerar El esquema que usa el código EF primero falla al interpretar las relaciones entre las entidades tal como las he interpretado (agrega una clave externaFooId al[bar] tabla) y no logra crear completamente la[FooBar] mesa de puente

Si alguien pudiera orientarme sobre cómo lograr el esquema anterior utilizando el código EF4, primero lo apreciaría. Si la solución implica atributos en mis modelos de POCO, las configuraciones fluidas o un híbrido de ambos no importan mucho, siempre y cuando se cree el esquema de base de datos deseado.

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta