Итак, я работаю над приложением электронной коммерции, и мой клиент хочет создать категории и продукты ... очевидно. Теперь, скажем, у клиента будет около 100 категорий и 20 000 продуктов.Хранение и работа с динамическими свойствами
Клиент должен иметь возможность создавать категории свойств, которые имеют смысл для фильтрации .... поэтому, в категории Жесткие диски могут иметь такие свойства, как:
- Емкость
- RPMS
- Форм-фактор
Хотя категории Проекторы могут иметь такие свойства, как:
- Яркость
- Контрастность
- Native Resolution
Мой вопрос как можно решить проблему позволяет пользовательские свойства, которые будут создаваться динамически, но и умение использовать эти свойства для поиска, фильтрации и доклад о?
Создание отдельной таблицы и объекта для каждой категории невозможно, так как я понятия не имею, какие категории они будут создавать (т. Е. HardDriveProperties, ProjectorProperties).
Я подумал, что, возможно, я мог бы создать дополнительный столбец в базе данных и сериализовать пользовательские свойства как JSON, но мне все равно потребуется либо создать определенный объект свойств для каждой категории, чтобы десериализовать JSON или общий список ProductProperties ...., о котором я думаю, может быть довольно дорого работать.
Как другие решают эту проблему?