次のクエリがあります(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 に変更しない例外を修正することは可能ですか? (および追加のバイトプロパティなし:))