我有一些可以相互关联的实体。这样做的一对简单类理想情况如下:
public class linkableEntity
{
public int Id { get; set;}
public virtual ICollection<Link> Links { get; set; }
}
public class Link
{
public int Id { get; set; }
public int SomeProperty { get; set; }
public int entity1Id { get; set; }
public virtual LinkableEntity entity1 { get; set;}
public int entity2Id { get; set; }
public virtual LinkableEntity entity2 { get; set;}
}
表格如下:
Table linkableEntity
Column Id
Table link
Column entityId1 - foreign key to linkableEntity.Id
Column entityId2 - foreign key to linkableEntity.Id
Column someProperty
尝试了这个问题,然后看了这个问题:Entity Framework Code First - two Foreign Keys from same table我不认为我想要做的事情在EF4中可能会有什么变化,EF6会有什么变化才能实现这个目标吗? (我还没有找到解决这个问题的最新问题)
如果没有,是否有更好的方式来表示这一点,而不是将linkableEntity更改为:
public class linkableEntity
{
public int Id { get; set;}
public virtual ICollection<Link> LinksWhereFirst { get; set; }
public virtual ICollection<Link> LinksWhereSecond { get; set; }
}
然后处理混乱?