ネストされたセット モデルが C# 言語や LINQ に直接関係していないことはわかっています。これは、Web アプリの開発に使用しているものです。
階層データ (私の場合はサブカテゴリを含むカテゴリ) については、現在、隣接リスト モデルに似たものを使用しています。現時点では、2 レベルのカテゴリしかありませんが、さらに進めて、ネストされたセット モデルを使用して n レベルのカテゴリを許可したいと考えています。
C# コンテキストでの使用方法についてはよくわかりません。これは、ネストされたセットモデルで読んでいる記事です。この記事で私の混乱はいくらか解消されましたが、まだ大きな問題があります ?? 頭の中:
- カテゴリの挿入、更新、または削除は面倒ですか? 左と右の数字の番号を付け直す必要があるようです...次のシナリオでは、LINQ クエリはどのようになりますか?
- 子ノードを削除します (すべてのノードの左/右の値を再番号付けします)
- 親ノードを削除します (孤児はどうしますか?)
- 子ノードを別の親ノードに移動する (再度番号を付け直す)
私の理解が正しければ、常に子ノードの左/右の値は常に親ノードの左/右の値の間にありますか?
カテゴリだけが静的であれば、十分に簡単に思えます...おそらく、概念を理解するためにもっと時間を費やす必要があります.
どんな助けでも大歓迎です!