Utilizando ambos-a-muchos y uno-a-muchos a la misma entidad

Tengo una asociación de muchos a muchos en EF Code-First (como se explica enest pregunta), y también quiero usar uno a muchos para la misma entidad. El problema es que EF no produce el esquema de base de datos correcto. Código

public class A
{
  public int Id { get; set; }
  public string Name { get; set; }
  public virtual ICollection<B> ObjectsOfB { get; set; }
}

public class B
{
  public int Id { get; set; }
  public virtual A ObjectA { get; set; }
  public virtual ICollection<A> OtherObjectsOfA { get; set; }
}

Cuando elimino la propiedad ObjectA de la clase B, la asociación de muchos a muchos se genera correctamente. Cuando se genera incorrectamente, la entidad B obtiene 2 claves foráneas para A, y la entidad A obtiene 1 clave foránea para B (como una relación de muchos a uno).

Respuestas a la pregunta(2)

Su respuesta a la pregunta