Всем привет.
Подскажите пожалуйста каким алгоритмом или реализацией на EF Core вытащить всю иерархию от самого нижнего элемента, до самого корневого.
Аля есть объект T с Id = 500, у этого T есть ParentId = 450. У Parent от T тоже есть ParentId и так до тех пор, пока не дойдем до самого корневого.
1 - EF Core через Include подтягивает только N-1 Parent элемент. Можно конечно прописать ThenInclude 100 раз и тогда сработает. Но сами понимаете.
2 - Могу стянуть все строки из базы как они есть и работать уже с плоским списком. Но нужен алгоритм как из 1 уровневого списка собрать иерархию.
PS: входящие в функцию данные такие, что может быть случай, когда нижних элементов может быть >1. Т.е. 2 элемента нужным (именно нужных, а не возможных) находятся в одном родителе. Или один элемент находится на самом нижнем уровне, а второй рядом с родителем первого.
Если представить визуально, то это похоже на проводник. Мы ищем файлы по названию и как результат, нам надо отобразить полное дерево где эти файлы лежат. Отталкиваться приходится именно от файлов.