EnumDropDownList用于扩展现有数据库

时间:2014-11-02 02:08:49

标签: c# asp.net-mvc entity-framework enums

我的应用程序是MVC 5.2,使用EF 6.1 Database First。以前从未使用过Enum,我试图在下面的dropdownlist中存储一个键值:

      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.

非常感谢您的建议。

1 个答案:

答案 0 :(得分:1)

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

  • 首先删除现有的SleepValues枚举
  • 转到edmx文件并右键单击SleepId属性。
  • 点击&#39;转换为枚举&#39;选项
  • 现在通过&#34; Add Enum Type&#34;定义您的枚举。出现的对话框。

请参阅以下链接了解详情。

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