2014-11-01 158 views
2

我一直在试图将我的数据库中的状态表转换为我可以从代码访问的枚举。概念类型找不到对应的对象层类型

最初的设置是一个状态表,包含我需要的几个条目(例如Active,Inactive等)。要转换我做了如下:

  • 打开Visual Studio 2013中的EDMX文件,查找状态表,然后单击“ID”字段上的“转换为枚举”。
  • 更改了“Id”字段设置为Int(从枚举转换)的代码中的所有引用。

我的解决方案现在建立并部署得很好。问题是以下错误:

No corresponding object layer type could be found for the conceptual type 

我得到的代码知道的方式,数据库应该是感觉,但数据库尚未配置。

我该如何解决这个问题?谢谢。

请注意,我的实体框架方法是数据库优先。

回答

3

确保您的枚举名称与类型名称匹配。因此,例如,如果枚举是让我们说“MyProject.Fully.Qualified.EnumName.MyEnum”当您创建枚举类型应该被称为“MyEnum”。

+0

不知道这是什么意思?枚举名称应该匹配哪个类型名称? – 2015-11-06 09:27:26

+0

@ Le-roy不幸的是:-( – AroglDarthu 2017-04-05 11:42:47

+0

好吧,这很糟糕。 – Jaans 2017-07-04 05:45:01

1

在我的情况下,我需要将我的Enum声明为Byte,这是我在Entity Framework的表属性中使用的类型。

例子:

Public Enum DataState As Byte 
    Normal=0 
    Deleted=1 
End Enum