2016-11-08 4 views
-5

Мой код имеет ошибку, я не знаю, что является причиной егоMVC многоуровневая архитектура с использованием сущностей, конвертируемых в 'System.IDisposable'?

namespace cms.data.System 
{ 
    public class MenuProccess 
    { 
     public static List<ModelMenu> GetMenus(Nullable<int> LanguageID){ 

     using (cmsEntities db = new cmsEntities) //error on this line 
     { 
      return null; 
     } 

     return null; 
    } 
} 

ошибка

«cmsEntities»: Type используется в использовании оператора должны быть неявно преобразованы в «System. IDisposable '

+2

cmsEntities не реализует 'System.IDisposable' –

+0

Если cmsEntities происходит от DataContext, то см [этот вопрос] (http://stackoverflow.com/questions/12508031/entity-framework- 5-model-first-where-is-isisposable-gone) _ «... ваша проблема, скорее всего, ваша модель определена в отдельной сборке, которая ссылается на EF5, и вы не добавили ссылку EF5 на ваш проект» _ – stuartd

+0

'Nullable 'заменяется на' int? 'Кстати! –

ответ

2

Класс cmsEntities должен реализовывать интерфейс IDisposable для использования инструкции «using».

3

Когда мы используем using заявление

using(var a = new ClassName()) 
{ 

} 

ClassName или любой класс вы используете должны реализовывать интерфейс IDisposable. При этом очевидно, что cmsEntities не реализует этот интерфейс.

0

Проблема может заключаться в изменении названия проекта.

Я сидел и плакал. Создал новый проект. Я начал снова. Слава богу, я начал проект сегодня. Я не зашел слишком далеко.

Спасибо :)

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