我有以下查询(EF5,.NET4.5):
from p in repository
select new Person() {
Name = p.Name,
Birthday = p.Birthday,
MyEnumValue = MyEnum.Value1
};
其中MyEnumValue的枚举定义如下:
public enum MyEnum : byte
{
Value1 = 1,
Value2 = 2
}
在运行时此代码导致异常:
从具体化的“System.Byte”类型到“MyApp.Domain.Models.MyEnum”类型的指定转换无效。
但是如果我将枚举定义更改为
public enum MyEnum { ... }
一切正常。
是否可以修复异常不要将 MyEnum 更改为 int?(并且没有额外的字节属性:))