@stcmd04236

Как правильно организовать и контролировать иерархию в бд с использованием entity framework?

Добрый день всем! Впервые работаю с иерархией в БД. Вообщем надо было организовать группу с иерархией. И создал следующий модель :
public class MyGroup
    {
        public int Id { get; set; }

        public string Name { get; set; }

        public string Description { get; set; }

        public virtual List<MyGroup> Childrens { get; set; }

        public virtual MyGroup Parent { get; set; }
    }


Тут все правильно (пока не вижу проблем). Можно организовать иерархию. Но вот проблемы будет в случае если добавить в дочернюю группу родительскую. Этого можно избежать при добавлении проверить, та не является ли этот группа родителем для него. Но никак не могу понять как сделать проверку для тех которые находятся наверху от родительской группы текущего.
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 1
@stcmd04236 Автор вопроса
Нашел решение но и тут есть свой минус. Указать уровень вложенности. Вроде решает проблему но проблемы возникает в случае если переместить группу вложенностью 3 го уровня на первый и если она содержит еще несколько вложенных групп.

Например у нас есть "корневая группа1" (уровень 0) и содержит несколько групп вложенностью до уровня 7. Вся проблема начинается если переместить группу с уровнем 4 на "корневая группа 1". Как быть с дочерными группами этой группы. Их уровень вложенности уже не 5 или 6 или 7 же. Какие есть пути решения данной проблемы? В голову приходить только вят всех и менять уровень вложенности на нужную.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы