Usando a entidade muitos para muitos e um para muitos na mesma entidade
Tenho uma associação muitos para muitos no EF Code-First (como explicado emest question), e também quero usar um para muitos na mesma entidade. O problema é que o EF não produz o esquema de banco de dados correto. 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; }
}
Quando removo a propriedade ObjectA da classe B, a associação muitos-para-muitos é gerada corretamente. Quando gerada incorretamente, a entidade B obtém 2 chaves estrangeiras em A e a entidade A obtém 1 chave estrangeira em B (como uma relação muitos-para-um