0

私は親子関係に取り組んでいます。可能な関係は次のとおりです。 1. ノードは多くの子を持つことができます 2. ノードは多くの親を持つことができます 3. ノードは多くの子と多くの親を持つことができます

ノード (子としましょう) に多くの親があり、ユーザーがその親の 1 つを削除することを選択した場合、特定のノードを削除するべきではありません。ただし、その親を削除するだけです。

C# 4.0 で Dictionary を使用しています

私たちが持っているデザインパターンまたは参照するリンク。

共有してください。

ありがとうございました

4

1 に答える 1

1

あなたの質問を誤解していなければ:

  • an: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 に答える