Ссылка на внешний тип перечисления с помощью шаблона генератора 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;

Есть несколько проблем с этим:

  1. Мне нужно использовать полностью определенные имена (имена перечислений должны совпадать с тем, что я собираю).
  2. Мне нужно бросить повсюду.
  3. Я получу круговую ссылку, так как Models ссылки на пространство имен Common а также Common теперь нужно ссылаться Models для того, чтобы бросить.

Это упрощенное объяснение. Я не могу изменить ссылки или шаблон генератора, поскольку это может привести к значительным изменениям кода в довольно большом проекте.

Я предполагаю, что это шаблон генерации испортить вещи. Есть ли способ обойти это?

РЕДАКТИРОВАТЬ

Поля с типом VehicleType, сгенерированные генератором шаблонов EntityObject, становятся:

private VehicleType _VehicleType;

где VehicleType - это Models.VehicleType

0 ответов

Другие вопросы по тегам