Ссылка на внешний тип перечисления с помощью шаблона генератора EntityObject
У меня есть следующее перечисление:
namespace Common
{
public enum VehicleType
{
Car=10,
Bike=20
}
}
Я создал ссылочный тип перечисления в EF Designer с именем VehicleType
ссылаясь на Common.VehicleType. Edmx находится в Models
пространство имен, так что я получаю два разных перечисления:
Common.VehicleType
Models.VehicleType
Чтобы установить перечисление на экземпляр объекта сущности, мне нужно привести его:
Vehicle vehicle = new Vehicle();
vehicle.VehicleType = (Models.VehicleType)Common.VehicleType.Bike;
Есть несколько проблем с этим:
- Мне нужно использовать полностью определенные имена (имена перечислений должны совпадать с тем, что я собираю).
- Мне нужно бросить повсюду.
- Я получу круговую ссылку, так как
Models
ссылки на пространство именCommon
а такжеCommon
теперь нужно ссылатьсяModels
для того, чтобы бросить.
Это упрощенное объяснение. Я не могу изменить ссылки или шаблон генератора, поскольку это может привести к значительным изменениям кода в довольно большом проекте.
Я предполагаю, что это шаблон генерации испортить вещи. Есть ли способ обойти это?
РЕДАКТИРОВАТЬ
Поля с типом VehicleType, сгенерированные генератором шаблонов EntityObject, становятся:
private VehicleType _VehicleType;
где VehicleType - это Models.VehicleType