Мы разрабатываем систему видео по требованию, в которой пользователи могут загружать видео. Мы хотим создать древовидную структуру архива видеороликов, где пользователь может создавать папки исполнителей/альбомов и т. Д. И сохранять видео в правильных папках. Как и все древовидные структуры, пользователь сможет перемещать видео между папками, удалять вспомогательные деревья, копировать видео и перемещать вспомогательные деревья и дочерние элементы.Должен ли я использовать ORM для моделирования большой древовидной структуры?
Дерево может содержать 10 000 000 видео и папок.
Мой вопрос будет ORM быть подходящим для дерева, как структура такого размера?
В настоящее время мы должны решить, как мы сохраняем данные. Изучение ORM может быть сложным с временным масштабом проекта. С этой структурой таблицы, я полагаю, я мог бы просто обработать SQL? –
«С этой структурой таблицы, я полагаю, я мог бы просто обработать SQL?» Именно то, что я думаю, избегайте ORM, если у вас нет сложной/большой структуры данных. –
Сначала вам нужно определить логику данных и бизнес-процессов. Тогда вы должны подумать, как его сохранить и как легко получить доступ к нему. Я не могу ответить на ваш вопрос «просто ручная работа с SQL», потому что я не знаю ваших данных. Например, если мне нужно загрузить все дерево за один раз, почему бы мне просто не присоединить эту таблицу к таблице разрешений, чтобы получить ВСЕ папки, принадлежащие пользователю? Или, если мне нужно загрузить следующий уровень только тогда, когда пользователь перейдет туда, почему я не могу просто спросить «Where (x => x.ParentId = selectedId)»? Я могу использовать ANY ORM для этой цели. Или NO ORM, поскольку это просто. Или напишите SP. –