2014-11-02 59 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