8

我刚刚获得 Visual-Studio 2012 Professional 并且正在使用 Entity-Framework (5.0) 设计器。我一直在尝试将属性转换为枚举,根据此 Microsoft 视频,我右键单击该属性并Convert to Enum在 (2:06) 处选择 - 在我的上下文菜单中没有转换选项。

在这里,我试图将角色转换为枚举。我已将角色设置为 Int32。

在此处输入图像描述

我究竟做错了什么?

4

4 回答 4

8

密切关注帖子中的视频,我打开了Model Browser手动添加枚举。完成后,将角色设置为我创建的枚举。为了测试我现在是否可以Convert To Enum使用该属性,我将类型更改回 Int32,然后右键单击该属性,然后低,我在上下文菜单中看到了该Convert To Enum选项!

因此,如果您遇到问题,这些是我用来启用该Convert To Enum选项的步骤。在我看来,这是一个 hack,因为现在我无法用新的解决方案和项目重现这种行为。显然,一旦第一次打开模型浏览器(或下面的完整步骤),它现在就会显示该Convert To Enum选项。

-1。使用快速启动搜索窗口,我输入Model Browser并打开它。

模型浏览器搜索

-2。Add New Enum Type...在模型浏览器中右键单击Enum Types您的数据模型进行选择。

在此处输入图像描述

-3。将您的属性设置为枚举,滚动到组合框中列出的类型的底部并选择枚举。

于 2012-11-19T17:21:55.397 回答
4

我也有这个问题!!我将实体框架从 4 更改为 4.5 并解决了问题!;)

于 2013-04-21T09:56:11.270 回答
3

当我遇到同样的问题时,解决方案是将 Target Framework 设置为“.NET Framework 4.5”。

于 2013-07-21T17:26:16.093 回答
0

在您尝试将其转换为枚举属性之前,该属性的类型是什么?仅当属性的类型是可以是枚举基础类型的类型之一 - Edm.Byte、Edm.SByte、Edm.Int16、Edm.Int32 或 Edm.Int64 时,转换为枚举选项才可用。如果属性类型不是这些类型之一,则无法直接将其转换为枚举,因为设计者不知道底层类型应该是什么,以及它是否可以与您的数据库一起使用更重要的是什么。

于 2012-11-19T21:10:11.457 回答