EnumDropDownList用于扩展现有数据库

本文关键字:数据库 扩展 用于 EnumDropDownList | 更新日期: 2023-09-27 18:28:55

我的应用程序是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.

非常感谢您的建议。

EnumDropDownList用于扩展现有数据库

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

  • 首先删除现有的SleepValues枚举
  • 转到edmx文件,右键单击SleepId属性
  • 单击"转换为枚举"选项
  • 现在通过出现的"添加枚举类型"对话框定义您的枚举

有关详细信息,请参阅下面的链接。

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