2014-11-02 60 views
1

我的应用程序是MVC 5.2,首先使用EF 6.1数据库。没用过枚举之前,我试图从下拉列表存储在以下键值:EnumDropDownListFor扩展现有的数据库

 public partial class Sleep { 
     public Nullable<int> SleepId {get;set;} 
     } 

要采取新的@ HTML.EnumDropDownListFor的优势,我增加了以下部分类

public enum SleepValues : int 
      { 
      Good = 1, 
      Bad = 2, 
      NotWell = 3 
      } 

并改变了原有的类

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

我得到以下错误:

The entity type Sleep is not part of the model for the current context. 

希望你的建议。

+0

你的睡眠表在你的分贝? – Jags 2014-11-02 02:25:21

+0

是的。它有Id,SleepId和theDay。 – hncl 2014-11-02 02:28:13

+0

您是否将实体添加到context.Add(实体)等上下文中?什么是你的对象的EntityState? – Flaudre 2014-11-02 02:59:30

回答

1

好的我能够重现这个问题。我认为你需要明确地改变你的Property SleepId的类型,在你的模型中枚举,即edmx文件。 你可以尝试以下步骤,看看是否能解决你的问题:

  • 首先删除现有SleepValues枚举
  • 转到EDMX文件并右键单击休眠特性。
  • 点击'转换为枚举'选项
  • 现在通过弹出的“添加枚举类型”对话框定义您的枚举。

详情请参阅下面的链接。

http://msdn.microsoft.com/en-in/data/jj248772.aspx