Size: a a a

2020 February 01

B

Bretbas in pro.net
включая посты в дочерних категориях
источник

G

Gopneg in pro.net
строить дерево по большой таблице - частые запросы? поимеешь говна
закешируй, епта и пиши на sql
источник

Dv

Dr. Friedrich von Never in pro.net
Bretbas
Народ, у кого-нибудь есть пример как сделать Nested set model в EF Core ?
У меня есть Category, которая знает о IList<Category> Children
Каждая Category знает также о IList<Post>

Задача следующая: Нужно замутить запрос, который будет вытаскивать по Id категории(Category) все IList<Post>, включая те, которые находятся во вложенных категориях, тоесть IList<Category> Children
Очень просто, короче.
источник

Dv

Dr. Friedrich von Never in pro.net
Ты смотрел пример на вики? Вроде он самый толковый.
источник

Dv

Dr. Friedrich von Never in pro.net
Тупо добавляешь пару числовых атрибутов в модель
источник

Dv

Dr. Friedrich von Never in pro.net
И всё, вот тебе nested sets.
источник

B

Bretbas in pro.net
да, смотрел
источник

Dv

Dr. Friedrich von Never in pro.net
Запрос по ним делается так же, как обычный запрос: Where(x => x.Left >= thyLeft && x.Right <= thyRight)
источник

Dv

Dr. Friedrich von Never in pro.net
Без всяких там рекурсивных CTE, странных аттракторов и прочего.
источник

Dv

Dr. Friedrich von Never in pro.net
Поддерживать такую структуру может быть дорого, а вот запросы к ней строить просто.
источник

Dv

Dr. Friedrich von Never in pro.net
В проде я ещё встречал вариации на топологической нумерации
источник

Dv

Dr. Friedrich von Never in pro.net
Ну, типа, заводишь колоночку "hierarchy", в которой хранишь примерно такую структуру:
1. Товары
1.1. Товары для детей
1.1.1. Еда детская
источник

Dv

Dr. Friedrich von Never in pro.net
И для того, чтобы получить все товары, делаешь запрос where hierarchy like '1.%'
источник

Dv

Dr. Friedrich von Never in pro.net
Такое можно сделать проще, чем настоящий nested sets.
источник

B

Bretbas in pro.net
Dr. Friedrich von Never
Такое можно сделать проще, чем настоящий nested sets.
оо
источник

B

Bretbas in pro.net
такое вообще не знал
источник

B

Bretbas in pro.net
прикольно
источник

Dv

Dr. Friedrich von Never in pro.net
Ну ты перформанс смотри, выборка по индексу like '1.%' может внезапно медленной оказаться, я не помню как его правильно обмазывать в разных СУБД
источник

B

Bretbas in pro.net
Dr. Friedrich von Never
Ну ты перформанс смотри, выборка по индексу like '1.%' может внезапно медленной оказаться, я не помню как его правильно обмазывать в разных СУБД
ладно) спасибо.

Просто в nested мне не понравилось то, что мне приходится добавлять в СУБД некую инфраструктуру только для того, чтобы я быстро что-то там вытаскивал.
Выглядит как-то не очень
источник

Dv

Dr. Friedrich von Never in pro.net
Bretbas
ладно) спасибо.

Просто в nested мне не понравилось то, что мне приходится добавлять в СУБД некую инфраструктуру только для того, чтобы я быстро что-то там вытаскивал.
Выглядит как-то не очень
Мой вариант тоже этого требует, правда выглядит попроще.
источник