我正在尝试描述树状结构,其中每个项目都是树中的节点,并且可以(或不)具有父节点。
在描述Node
实体时,这有效:
public class Node
{
public int Id {get;set;}
public string Description {get;set;}
public int ParentId {get;set;}
}
我得到一个名为Nodes
的表格,上面的列和Id上的PK。如果我然后添加一个新参数:
public virtual Node Parent {get;set;}
为了快速/轻松地访问父节点,创建代码添加了一个外键约束,要求ParentId
指向Node
Id
。
由于某些节点没有父节点,因此尝试添加Node
为0的ParentId
失败。
有办法做到这一点吗?
答案 0 :(得分:2)
您的数据模型有任何限制吗?如果不是只是尝试使parentId可以为空:
public int? ParentId {get;set;}