170 похожих чатов

Есть у EF core такая фича. у обьекта лежит ID

обьекта на себя, обозначающая родителя.
Хочу в рамках дерева обьектов, поменять позицию двух обьектов.
но как то компактно не получается. Судя по всему, реструктуризацию всю в ручную делать.
Как правильно решается данная проблема ?

15 ответов

9 просмотров

второе предложение не понял. ты про int ID или про ссылку на другой обьект в бд?

Сергей-(F L ) Автор вопроса
Oleg Harasment
второе предложение не понял. ты про int ID или про...

Чтобы сделать двусязный список. Мы должны хранить ID обьекта родителя, того же типа. это технически будет int?.

Сергей-(F L ) Автор вопроса
Oleg Safonov
А почему список, а не дерево?🤔

Список это дерево с 1 веткой ), пока так проще.

Сергей (F L )
Список это дерево с 1 веткой ), пока так проще.

Ну так вторую ветку то не получится добавить потом, если про бд речь

Сергей-(F L ) Автор вопроса
Oleg Safonov
Ну так вторую ветку то не получится добавить потом...

Ну это пока и не надо. Я хочу переместить красиво два обьекта в рамках 1 иерархии списка. Грубо говоря. элемент 3 и 4 поменять местами. но так чтобы потом элемент 5 ссылался на 3. А 4 элемент ссылался на 2

Сергей (F L )
Чтобы сделать двусязный список. Мы должны хранить ...

class Obj { [Key] int Id; Int? RodId; //id родителя } Obj one, Obj two получил из бд псевдокод db.RemoveById(one.Id); db.RemoveById(two.Id); (one.Id, two.Id) = (two.Id, one.Id) (one.RodId, two.RodId) = ... db.Add(one); db.Add(two); db.Save(); я бы так попробовал

Oleg Harasment
class Obj { [Key] int Id; Int? RodId; //id родите...

ну или можно по-другому. поменять у них значения всех проперти, кроме ид родителя и собственного

Сергей (F L )
Список это дерево с 1 веткой ), пока так проще.

Тогда нафига вам парент если это просто order position

Сергей-(F L ) Автор вопроса
Sinner
Тогда нафига вам парент если это просто order posi...

EF удобно представляет обьект тогда. и перебирать просто.

Сергей-(F L ) Автор вопроса
Oleg Harasment
дак parentID когда Id>0 == [Key] Id -1

с каких пор. нет. Мы можем 1 элемент назначить дочерним к 19

Сергей-(F L ) Автор вопроса
Oleg Harasment
class Obj { [Key] int Id; Int? RodId; //id родите...

В целом идея рабочая спасибо. Почему то не подумал, что удаление, само восстанавливает структуру связи. Получилось в 3 этапа, удаление. востановление. Установка связей. Почему то начала не нравится идея проблемы с уничтожением первичного ключа. Так же чтобы не потерять данные, на всякий случай, загнал все в транзакцию.

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

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Как сделать чтобы short точно был 2 байта, int точно 4 байта ?(без стандартных библиотек, ну типа без int16_t, int32_t)
#
8
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Только такой if ($modx->event->name == 'OnBeforeCartItemAdding') { $meta = $params['item']['meta']; $lang = $modx->getConfig('_lang'); // проверяем, задана ли опция i...
Multi Web
1
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Карта сайта