Вот вам для начала, хотя было бы полезно больше информации, например, на какой платформе вы работаете.
Вы можете попробовать подход пары «значение / ключ», хотя вам нужно будет расширить это, чтобы можно было назначать разные значения для разных экземпляров сущности.
В вашей базе данных может быть таблица с:
- Уникальный идентификатор строки
- Идентификатор объекта
- ключ свойства
- значение свойства
Если вы собираетесь использовать это для других типов сущностей, вам понадобится дополнительный столбец для разделения этих типов.
Если вы работаете в .Net, вы можете создавать интерфейсы, которые описывают определенные свойства, с которыми вы хотите работать на уровне API.
Вы можете получить доступ к свойствам в базе данных через класс, который служит «утилитой свойств», он будет использоваться внутри объекта или фабрикой, которая их создает.