Я реализовал связанный список в виде таблицы базы данных с самообращением:
CREATE TABLE LinkedList(
Id bigint NOT NULL,
ParentId bigint NULL,
SomeData nvarchar(50) NOT NULL)
где Id - это первичный ключ, а ParentId - это идентификатор предыдущего узла в списке. Первый узел имеет ParentId = NULL.
Теперь я хочу ВЫБРАТЬ из таблицы, сортируя строки в том порядке, в котором они должны отображаться, как узлы в списке.
Например: если таблица содержит строки
Id ParentId SomeData
24971 NULL 0
38324 24971 1
60088 60089 3
60089 38324 2
61039 61497 5
61497 60088 4
109397 109831 7
109831 61039 6
Затем сортировка по критериям должна привести к:
Id ParentId SomeData
24971 NULL 0
38324 24971 1
60089 38324 2
60088 60089 3
61497 60088 4
61039 61497 5
109831 61039 6
109397 109831 7
Вы должны использовать столбец SomeData в качестве элемента управления, поэтому, пожалуйста, не читайте, делая ЗАКАЗ SomeData : -)