burakkucukekiciler Ответов: 1

Список вложенных таблиц категорий Mvc


How can I make recursive categories, like this:

computer <br />
computer > Lenovobr 
computer > Lenovo > p250
Electronic 
Electronic > Lise

how can I remove it in a spreadsheet?

What I have tried:

<pre>MVC nested category table list

1 Ответов

Рейтинг:
0

MadMyche

Лучший способ сделать это-использовать отношения родитель-потомок в категориях, S/O имеет действительное решение:
c# - ASP.Net MVC: Как показать вложенное отношение родитель-потомок с помощью рекурсивной техники[^]

По моему опыту, если у вас есть много категорий и проблем с производительностью опыта глубины; вы можете кэшировать/сохранять сгенерированную иерархию.

Добавлено: перемещение структуры в базу данных
Ниже приводится очень простая таблица БД для хранения этой информации. Вы, вероятно, захотите добавить описательную информацию для них. Некоторые люди также скажут вам добавить внешний ключ к родительскому идентификатору с ограничениями... Как правило, это не способствует повышению производительности самой БД, но если вы используете ORM, например Entity Framework, это может помочь вашему приложению лучше понять структуру вашей базы данных.

CREATE TABLE Categories (
  CategoryID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
  ParentID   INT NULL,
  CategoryName NVARCHAR(100) NULL,
  -- other fields as needed
 )
GO

SET IDENTITY_INSERT Categories ON
  INSERT Categories (CategoryID, ParentID, CategoryName)
  VALUES (0, NULL, Root)
  ,       (1, 0, 'Computer')
  ,       (2, 0, 'Electronic')
  ,       (3, 1, 'Lenovo')
  ,       (4, 3, 'P250')
  ,       (5, 2, 'Lise')
SET IDENTITY_INSERT Categories OFF
GO

Я не собираюсь вдаваться в эту сторону C#, так как большинство пользователей сегодня действительно используют какой-то ORM, в то время как я являюсь прямым АДО-человеком.

Что я могу вам сказать, так это то, что у вас будет класс Category, который отражает эту структуру БД, и вам понадобится какой-то список/коллекция для работы со всеми категориями.

Для поиска помощи по различным пунктам я бы предложил иметь Категории Родителей Ребенка в запросе


burakkucukekiciler

как я могу сделать это, как стол?

пример


ComputerComputer >> Pc

Я хочу это сделать

MadMyche

Я добавил его к первоначальному ответу.

burakkucukekiciler

Я провел исследование, но так и не смог его найти.
спасибо за вашу помощь

MadMyche

Я бы посоветовал вам прочитать статью о переполнении стека и провести собственное исследование; это всего лишь базовый пример для начала работы.
Мне очень жаль, но код, который я использую, не может быть общим, он является собственностью.

burakkucukekiciler

Я провел исследование, но так и не смог его найти.
спасибо за вашу помощь