エンティティフレームワークのコードファーストモデルで、型付きエッジを使用してグラフを表現しようとしています。関係を正しく設定する方法を理解するのは非常に困難です。グラフのノードを「アイテム」と呼び、エッジを「関係」と呼んでいます。これが私が持っているものです。
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プロパティに対応させるにはどうすればよいですか?
ああ...そして、これは私が双方向にナビゲートできる有向グラフであると想定されていることを説明する必要があると思います。:)