2014-11-02 4 views
1

Мое приложение MVC 5.2 с использованием первой базы данных EF 6.1. Никогда не использовал Enum до того, что я пытаюсь сохранить значение ключа из DropDownList в следующем:EnumDropDownListДля расширения существующей базы данных

 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

+0

Да. У него есть Id, SleepId и TheDay. – hncl

+0

Вы добавили объект в свой контекст, например context.Add (entity)? Что такое EntityState вашего объекта? – Flaudre

ответ

1

OK Я смог воспроизвести эту проблему. Я думаю, вам нужно явно изменить тип вашего свойства SleepId на перечисление в вашей модели, то есть edmx-файл. вы можете попробовать следующие шаги и посмотреть, если это решает проблему:

  • Сначала удалите существующие SleepValues ​​Перечисление
  • Перейти к EDMX файл и правой кнопкой мыши на SleepId собственности.
  • Нажмите 'Convert to Enum'.
  • Теперь определите свой список с помощью диалогового окна «Добавить тип перечисления».

Подробнее см. Ссылку ниже.

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

Смежные вопросы