找不到与概念类型对应的对象图层类型

jim*_*jim 7 entity-framework

我一直在尝试将数据库中的状态表转换为可以从代码访问的枚举。

初始设置是一个状态表,其中包含我需要的几个条目(例如活动、非活动等)。要转换我做了如下:

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

我的解决方案现在可以很好地构建和部署。问题是以下错误:

No corresponding object layer type could be found for the conceptual type
Run Code Online (Sandbox Code Playgroud)

我感觉代码知道数据库应该是怎样的,但是数据库还没有被配置。

我怎样才能解决这个问题?谢谢你。

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

Zeu*_*s82 11

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


Le-*_*nes 5

就我而言,我需要声明我的Enumas Byte,这是我在实体框架的表属性中使用的类型。

例子:

Public Enum DataState As Byte
    Normal=0
    Deleted=1
End Enum
Run Code Online (Sandbox Code Playgroud)