Я хотел бы получить некоторые идеи о том, как использовать определения, которые хранятся в БД (которая используется вашим приложением), в исходный код приложения.
Пример:
База данных
- Автомобили
- CarTypeDefinitions
Столбец Cars
связан внешним ключом со строкой в CarTypeDefinitions
, поэтому определяет тип автомобиля, который содержится в Cars
.
Cars
содержит записи типа 'Aston Martin DB8' , 'Range Rover' и 'Mercedes Actros' .
CarTypeDefinitions
содержит записи типа 'Спортивный автомобиль' , 'SUV' и 'Грузовик' .
Исходный код
Теперь я бы хотел использовать эти определения и в моем исходном коде. Так что каким-то образом нам нужно создать какое-то отображение между строкой в таблице CarTypeDefinitions
и (предпочтительно) безопасной для реализации реализацией в исходном коде.
Одна возможная реализация
Первое, что приходит мне в голову (и я особенно ищу другие решения или отзывы по этому вопросу), это создание Enum
ECarTypeDefinitions
.
public enum ECarTypeDefinitions
{
SportsCar = 1,
SUV = 2,
Truck = 3
}
Теперь, когда у нас есть типобезопасный Enum
, мы можем использовать его, например. как это:
public bool IsSportsCar(Car currentCar)
{
return (currentCar.CarType == ECarTypeDefinitions.SportsCar);
}
Содержимое этого перечисления будет автоматически сгенерировано из содержимого таблицы CarTypeDefinitions
(добавьте два дополнительных столбца для имени перечисления и его целочисленного значения).
Это также будет работать по-другому, например, сгенерировать содержимое таблицы БД CarTypeDefinitions
из ECarTypeDefinitions
Enum
.
Мне очень хотелось бы узнать о других способах решения этой проблемы. Как вы справились с этим?