6

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

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

指定的架构无效。错误:找不到概念类型“ControlPanelDevModel.EventType”的对应对象层类型。

4

2 回答 2

12

好的,作为对上述内容的补充,我发现在将外部 Enum 映射到 tinyint 的数据库类型时,我遇到了同样的错误。

解决方案是让您的枚举从本文中指定的“字节”类型继承。

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

于 2013-04-16T10:24:38.440 回答
10

看看我的博文——它展示了如何创建和使用外部枚举类型: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 枚举类型的所有成员(事实上,正如我在上面指出的那样,您可能没有任何成员,并且一切都应该工作)。

于 2012-09-17T17:09:16.823 回答