Using Database first design and having tinyint (or smallint) column:
[MyEnumColumn] [tinyint] NOT NULL
I mapped this column to Enum Type in EDM
Well if anyone is interested the problem is in enum's default type:
public enum MyEnumType
{ One, Two, Three, All }
Since enum defaults to type int, [Underlying Type:{Byte}] doesn't match type of [External Type] {MyEnumType:Int} so to fix it for my original tinyint field you need to define your enum like this:
public enum MyEnumType : byte
{ One, Two, Three, All }
You need to specify both in the Model and in the Enumerator that you are using tinyInt and Byte .
in Enumerator definition
public enum MyEnumType : byte
{ One, Two, Three, All }
then in the Model class file
[Column(TypeName = "tinyint")]
public MyEnumType? MyEnum { get; set; }