Я пытаюсь оптимизировать древовидную структуру для моей категории-модели. Категория-модель имеет родительское свойство и коллекцию детей.
Обычно я делаю это, загружая все категории (звучит плохо, но не более 100 узлов). Затем дерево собирается вручную путем индексации всех категорий по идентификатору, а затем путем поиска родительского элемента по категориям парентид. Грязно, но очень быстро. У меня проблема в том, что я не знаю, как получить / отобразить ParentID из родительского отношения при использовании nhibernate.
Скажите, у меня есть это отображение в беглом nhibernate:
References(cat => cat.Parent,"Parent_id")
.FetchType.Select()
.WithForeignKey("Category_ParentCategory");
Тогда у меня вопрос: как я могу получить или отобразить парентид для данной категории, не загружая Родителя из базы данных?
А также, кто-нибудь имеет практический опыт картирования деревьев, или пробовал http://blogs.hibernatingrhinos.com/nhibernate/archive/2008/05/14/how-to-map-a-tree-in-nhibernate.aspx?