我有以下枚举:
namespace Common
{
public enum VehicleType
{
Car=10,
Bike=20
}
}
我在EF设计器中创建了一个引用枚举类型,名称为VehicleType
,引用了Common.VehicleType。 edmx位于Models
命名空间中,因此我最终得到两个不同的枚举:
Common.VehicleType
Models.VehicleType
要在实体对象实例上设置枚举,我需要将其强制转换:
Vehicle vehicle = new Vehicle();
vehicle.VehicleType = (Models.VehicleType)Common.VehicleType.Bike;
这有几个问题:
Models
命名空间引用Common
和Common
现在需要引用Models
才能进行投射。这是一个简化的解释。我无法更改引用或生成器模板,因为这相当于一个相当大的项目中的大量代码更改。
我猜它的生成模板搞砸了。有没有办法解决这个问题?
修改
EntityObject模板生成器生成的VehicleType类型的字段变为:
private VehicleType _VehicleType;
其中VehicleType是Models.VehicleType