EF5枚举映射到外部类型问题

Cer*_*sey 6 entity-framework-5

它只是我还是这似乎不起作用?

在模型中我首先拖入一个简单的表并创建一个枚举(通过转换为枚举).现在我尝试了在对话框中创建枚举项目和不创建枚举项目,但如果我勾选参考外部类型,我得到:

指定的架构无效.错误:无法为概念类型"ControlPanelDevModel.EventType"找到相应的对象图层类型.

led*_*gon 12

好的作为上面的补充我发现我在将外部枚举映射到数据类型tinyint时遇到了同样的错误.

解决方案是让您的Enum继承自本文中指定的类型"byte".

Tinyint(字节),SmallInt(Int16)与EF5中的Enum不兼容


Paw*_*wel 9

看看我的博文-它展示了如何创建和使用外部enum类型:http://blog.3d-logic.com/2012/09/11/using-exisiting-enum-types-in-entity-framework- 5 / 如果您使用的是.NET Framework 4.5附带的EF5 RTM(而不是EF June CTP 2011),则无需指定EDM枚举类型的成员.重要的是要确保EDM枚举类型名称与外部CLR枚举类型的名称匹配,并且基础类型是相同的(如果没有指定基础类型,将使用Edm.Int32 - 类似于C#/ VB. NET - 使用int).如果您决定在EDM枚举类型上分离成员,则您的名称和/或值不得与C#/ VB枚举类型成员不同.您也不必在EDM枚举类型中指定CLR枚举类型的所有成员(事实上,正如我在上面指出的那样,您可能没有任何成员,因为一切都应该有效).