Я знаю, что модель вложенного набора не относится непосредственно к языку C # или LINQ ... это то, что я использую для разработки своего веб-приложения.
Для иерархических данных (категорий с подкатегориямив моем случае), я сейчас использую что-то похожее на модель списка смежности.На данный момент у меня есть только 2 уровня категорий, но я бы хотел пойти дальше и учесть n уровней категорий, используя модель вложенного набора.
Я не совсем понимаю, какиспользовать его в контексте C #. Вот статья, которую я читаю о модели вложенного множества .Хотя эта статья прояснила мою путаницу, у меня все еще есть большая ??в моей голове:
- Утомительно ли вставлять, обновлять или удалять категории?Похоже, что для левых и правых чисел потребуется повторная нумерация ... как будут выглядеть запросы LINQ для следующих сценариев?
- Удалить дочерний узел (изменить нумерацию всех узловзначения влево / вправо)
- Удалить родительский узел (что вы делаете с сиротами?)
- Переместить дочерний узел в другой родительский узел (снова перенумеровать)
Если мое понимание правильное, то всегда левые / правые значения дочернего узла всегда будут находиться между левыми / правыми значениями родительского узла, я прав?
Кажется достаточно простым, если бы только категории былистатичный ... скорее всего мне нужно потратить больше времени, чтобы разобраться в концепции.
Любая помощь очень ценится!