我试图在实体框架代码优先模型中表示具有类型边的图。我很难理解如何正确建立关系。我将图中的节点称为“项目”,将边称为“关系”这是我所拥有的:
public class Item : Learnable
{
public Boolean IsBeginningItem { get; set; }
public virtual List<Relationship> RelationshipsLeft { get; set; }
public virtual List<Relationship> RelationshipsRight { get; set; }
}
-
public class Relationship : Learnable
{
public Boolean IsPrerequisiteRelationship { get; set; }
public virtual RelationshipType RelationshipType { get; set; }
public int ItemLeftID { get; set; }
[ForeignKey("ItemLeftID")]
public virtual Item ItemLeft { get; set; }
public int ItemRightID { get; set; }
[ForeignKey("ItemRightID")]
public virtual Item ItemRight { get; set; }
}
这就是我得到的:
如何让 Item 的 RelationshipsRight 属性对应于 Relationship 的 ItemLeft 属性,以及 Item 的 RelationshipsLeft 属性对应于 Relationship 的 ItemRight 属性?
哦……我想我应该解释一下,这应该是一个可以双向导航的有向图。:)