C# EnumDropDownList用于扩展现有数据库

C# EnumDropDownList用于扩展现有数据库,c#,asp.net-mvc,entity-framework,enums,C#,Asp.net Mvc,Entity Framework,Enums,我的应用程序是MVC5.2,首先使用EF6.1数据库。以前从未使用过Enum,我正在尝试将dropdownlist中的键值存储在以下位置: public partial class Sleep { public Nullable<int> SleepId {get;set;} } 并将原来的类更改为 public Nullable<SleepValues > SleepId {get;set;} 非常感谢您的建议。好的,我可以重现

我的应用程序是MVC5.2,首先使用EF6.1数据库。以前从未使用过Enum,我正在尝试将dropdownlist中的键值存储在以下位置:

      public partial class Sleep {
      public Nullable<int> SleepId {get;set;}
       }
并将原来的类更改为

public Nullable<SleepValues > SleepId {get;set;}

非常感谢您的建议。

好的,我可以重现这个问题。我认为您需要在模型(即edmx文件)中将属性SleepId的类型显式更改为enum。 您可以尝试以下步骤,看看这是否解决了您的问题:

  • 首先删除现有的SleepValues枚举
  • 转到edmx文件并右键单击SleepId属性
  • 单击“转换为枚举”选项
  • 现在通过弹出的“添加枚举类型”对话框定义枚举
有关详细信息,请参阅下面的链接


您的数据库中有睡眠表吗?有。它有Id、SleepId和日期。您是否将实体添加到上下文中,如context.add(实体)?对象的实体状态是什么?
public Nullable<SleepValues > SleepId {get;set;}
The entity type Sleep is not part of the model for the current context.