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).