我在EF Code-First中有一个多对多的关联(如此问题所述),并且我还想使用一个一对多到同一实体。问题是EF不能生成正确的数据库架构。代码:
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; }
}
当我移除类B的ObjectA属性时,多对多关联会被正确地生成。
如果生成不正确,实体B将获得2个对A的外键,实体A将获得1个对B的外键(就像一个多对一的关系)。
EntityFramework.DLL
中发生了类型为“System.InvalidOperationException”的第一次机会异常。 - Marthijn