nerijus
А то что запрос чуть сложнее “select from table order by col”, это нонсенс.
я не про сложность, а про тяжесть. там джойн ( нужно получить 2 таблицы, состыковать их, потом отсортировать ), он гораздо тяжелее одного селекта
nerijus
o7412369815963
в данном методе вставить элементы можно только к элементам верхнего уровня, к вставленным объектам не вставить… типа того, имхо, да и выборка не простой селект.
А причем тут уровень? Я говорю не о каком то дереве, а что принцип нужно менять на double linked list. Ты просто тогда будешь иметь цепь в которую при вставке елемента ненужно будет менять половину списка.
вот тут поподробней, попробую с имитировать ситуацию
значит есть таблица:
Id int
ParentId : ид родителя
ChildId : ид на элемент
Description nvarchar(30)
————
#есть 2 записи
1, null, x, x
2, null, x, x
#вставляем запись после 1-ой
1, null, x, x
2, null, x, x
3, 1, x, x
#вставляем запись после 3-ей
1, null, x, x
2, null, x, x
3, 1, x, x
4, 3, x, x
выполняем тот джойн:
SELECT parentList.Id, parentList.ParentId, childList.Id AS ChildId
FROM LinkedList parentList
LEFT JOIN LinkedList childList ON parentList.Id = childList.ParentId
получается такой (бессмысленный) результат:
1, null, 3
2, null, null
3, 1, 4
4, 3, null
где я ошибся?