Entity framework 使用实体框架创建树
我创建这些类是为了创建一个树(用户拥有根) 但是实体框架(代码优先)不保存父id (在用户类中,按预期保存“根目录”) 当我手动创建表时(首先是Database),实体框架将父id保存为int,而不是“Node”Entity framework 使用实体框架创建树,entity-framework,tree,Entity Framework,Tree,我创建这些类是为了创建一个树(用户拥有根) 但是实体框架(代码优先)不保存父id (在用户类中,按预期保存“根目录”) 当我手动创建表时(首先是Database),实体框架将父id保存为int,而不是“Node” 我能做什么?您没有正确实现ForeignKey注释。您需要执行以下操作: [Key] public int Id { get; set; } public string Name { get; set; } public int ParentID { get; set; } [Fo
我能做什么?您没有正确实现
ForeignKey
注释。您需要执行以下操作:
[Key]
public int Id { get; set; }
public string Name { get; set; }
public int ParentID { get; set; }
[ForeignKey("ParentID")]
public Node Parent { get; set; }
上面的代码将允许您拥有单独的
节点
,然后可以将父节点分配给它们。每个节点
都需要有自己的ID以及其父节点的ID。ForeignKey
注释必须指向父ID,而不是节点的ID。为什么称它为Parent\u ID
,而不仅仅是Parent
?我已经有一段时间没有使用EF了,但也许有一些命名属性的约定?
[Key]
public int Id { get; set; }
public string Name { get; set; }
public int ParentID { get; set; }
[ForeignKey("ParentID")]
public Node Parent { get; set; }