выдает ошибку при использовании оператора using в приложении wcf - PullRequest
1 голос
/ 25 февраля 2011

У меня следующий код

 using  (AdventureWorksEntities database = new AdventureWorksEntities())

Но это показывает, что

'New_WCF_App1.AdventureWorksEntities': тип, используемый в операторе using, должен быть неявно преобразован в 'System.IDisposable'

Как решить эту проблему

Ответы [ 3 ]

6 голосов
/ 28 ноября 2011

Такая ошибка при использовании операторов using для контекстов данных в WCF, скорее всего, означает, что вы упускаете ссылку на сборку System.Data.Entity.

4 голосов
/ 25 февраля 2011

Ну, сообщение об ошибке достаточно ясно - AdventureWorksEntities не реализует интерфейс IDisposable.Он не может быть утилизирован, поэтому вы не можете использовать его в качестве ресурса в операторе using.

Далее необходимо выяснить, должен ли реализовать IDisposable,или действительно ли у него нет ресурсов для удаления.

РЕДАКТИРОВАТЬ: Согласно комментариям, с Entity Framework 4 это должно работать без какой-либо дополнительной реализации, так как автоматически сгенерированный код уже реализует IDiposable.

2 голосов
/ 17 октября 2012

Вам нужно добавить ссылку на System.Data.entity (как сказал krzysztofkarolczak) (ниже 5.0) или EntityFramework.dll (entity 5.0), и это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...