Entity Framework(代码优先)递归父级
Entity Framework (Code First) recursive parent
我试图描述一个树状结构,其中每个项目都是树中的一个节点,并且可以(或不)有一个父节点。
在描述 Node
实体时,这有效:
public class Node
{
public int Id {get;set;}
public string Description {get;set;}
public int ParentId {get;set;}
}
我得到一个名为 Nodes
的 table,其中包含上述列和 ID 上的 PK。如果我再添加一个新参数:
public virtual Node Parent {get;set;}
为了quick/easy访问父节点,创建代码添加外键约束要求ParentId
指向一个Node
Id
.
由于某些节点没有父节点,因此尝试添加 ParentId
为 0 的 Node
失败。
有办法吗?
你的数据模型有什么限制吗?如果不只是尝试使 parentId 可以为空:
public int? ParentId {get;set;}
我试图描述一个树状结构,其中每个项目都是树中的一个节点,并且可以(或不)有一个父节点。
在描述 Node
实体时,这有效:
public class Node
{
public int Id {get;set;}
public string Description {get;set;}
public int ParentId {get;set;}
}
我得到一个名为 Nodes
的 table,其中包含上述列和 ID 上的 PK。如果我再添加一个新参数:
public virtual Node Parent {get;set;}
为了quick/easy访问父节点,创建代码添加外键约束要求ParentId
指向一个Node
Id
.
由于某些节点没有父节点,因此尝试添加 ParentId
为 0 的 Node
失败。
有办法吗?
你的数据模型有什么限制吗?如果不只是尝试使 parentId 可以为空:
public int? ParentId {get;set;}