枚举属性映射到EF June 2011 CTP上的varchar列

时间:2011-09-28 18:38:43

标签: entity-framework enums

我正在尝试使用Code First方法创建模型。 我想知道是否可以将Enum属性映射到数据库中的varchar列。 我知道你可以用byte,small,int,long来做。

这是一个旧数据库的项目,它有许多带约束的列。将此结构映射到枚举值会很好。

由于

1 个答案:

答案 0 :(得分:2)

不,不可能。 2011年6月EF中的枚举CTP只能用于.NET平台本身支持的枚举,而.NET仅支持除char之外的整数类型的枚举。这意味着只支持byte,sbyte,short,ushort,int,uint,long或ulong。关于EF中的映射也是如此。 EF只能将枚举映射到整数类型的列。

您可以查看有关here的更多信息。它还包含EF for enum支持的内部类型的描述:

  

与CLR枚举类似,EF枚举的基础类型为1   Edm.SByte,Edm.Byte,Edm.Int16,Edm.Int32或Edm.Int64 with   如果没有,则Edm.Int32是默认的底层类型   指定。

您还可以查看该文章下的评论。