Допустим, у меня есть две таблицы, одна из которых хранит автомобили с внешним ключом во второй справочной таблице, в которой хранятся бренды. Что лучше ... создать enum и сделать свойство автомобиля типом перечисления или загрузить список объектов бренда из таблицы?Должен ли я хранить ссылочные таблицы vales как перечисление?
На первый взгляд я подумал, что было бы лучше, если бы бренды загрузились из таблицы, потому что для новых брендов не было бы необходимости менять код (перечислить). Но с точки зрения производительности мне пришлось бы вызывать базу данных каждый раз, когда мне нужно было узнать все возможные бренды (например, при проверке), и это может быть дорогостоящим.
Какая хорошая практика?
`Car {
int SerialNumber;
(int or enum?) BrandId;
string Owner;
DateTime Year;
}`
`(class or enum?) Brand {
int Id;
string Name;
}`
Вы используете ORM, как EntityFramework? –
Рассчитайте расходы на «переустановку» программного обеспечения, когда вам нужно добавить новый бренд, а также несколько дополнительных запросов на сервер sql. – Fabio
У вас действительно есть проблемы с производительностью при реализации, где вы делаете запрос базы данных для проверки брендов? Что такое назначение базы данных, тогда, если вы хотите сохранить данные жестко закодированными в вашем исходном коде? Используйте базу данных, и только если у вас проблемы с производительностью (я сомневаюсь), вы начинаете рассматривать другой подход. – Fabio