0

我正在研究亲子关系。可能的关系是,1. 节点可以有很多孩子 2. 节点可以有很多父母 3. 节点可以有很多孩子和很多父母

当节点(假设一个孩子)有很多父母并且用户选择删除其父母之一时,我们不应该删除特定节点。但只需删除该父级。

我在 C# 4.0 中使用字典

我们拥有的任何设计模式或任何要参考的链接。

请分享。

谢谢

4

1 回答 1

1

如果我没有误解你的问题:

  • 你想创建一个:m 关系。
  • 你不想使用级联删除(如果父节点被删除,它不会影响其他节点)

为此,您可以集成一个类。这是一些代码:

public class Node
{
    public List<Node> Children { get; set; }
    public List<Node> Parents { get; set; }
    public string Name { get; set; } 
    // whatever

    public Node()
    {
        Children = new List<Node>();
        Parents = new List<Node>();
    }
}

List parents 并不是真正必要的,但是使用它可以更容易地访问父节点(无需搜索您的节点是子节点的节点)。

于 2012-11-09T14:52:50.473 回答