【问题标题】:EF5 Enum mapping to external type issueEF5 枚举映射到外部类型问题
【发布时间】:2012-09-09 11:34:52
【问题描述】:

是我自己还是这似乎不起作用?

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

指定的架构无效。错误:没有对应的对象层 可以为概念类型找到类型 'ControlPanelDevModel.EventType'。

【问题讨论】:

    标签: entity-framework-5


    【解决方案1】:

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

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

    Tinyint(byte),SmallInt(Int16) not compatible with Enum in EF5

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢!在我的下一个开发中,我必须牢记这一点......不幸的是,我将不得不恢复到 ef 4.4,因为我的客户无意将那里的服务器升级到 2008r2。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多