Ответ 1
Вы должны добавить ссылку на System.Data.Linq
. Я подозреваю, что проблема.
Я пытаюсь использовать свой "контекстный" объект в операторе using. Он работает над одним проектом, но с другой стороны, я получаю следующую ошибку.
'...': тип, используемый в операторе using, должен быть неявно конвертируемым to 'System.IDisposable'
Когда я обращаюсь к объекту "context", я имею в виду объект, созданный автоматически при работе с LINQ to SQL.
Класс, в котором я работаю, реализует другой интерфейс, может ли это навязать этот объект контекста?
using (TGDC context = new TGDC())
{
}
слово
используя
имеет под ним красную квадратную строку (ошибка).
Вы должны добавить ссылку на System.Data.Linq
. Я подозреваю, что проблема.
Или, если вы используете Entity Framework, убедитесь, что у вас есть ссылка на System.Data.Entity
и System.Data.Objects
(С#: using
/VB.NET: Imports
).
Добавьте ссылку на сборку EntityFramework.dll, на которую ссылается проект, который определяет ваш класс контекста EF.
Добавить ссылку на сборку EntityFramework
Это старый вопрос, но так как я нашел его через поиск Google:
Я испытал это при работе с веб-сайтом, который работал без проблем в Visual Studio 2010.
Что-то странное в Visual Studio 2012 и Entity Framework; добавление EF к существующему проекту приводит к установке EF 5.0 (пакет NuGet), без возможности использования 4.0.
Комментарий этого ответа к связанному вопросу - это то, что сделало реализацию поп-музыки.
Решение похоже на обновление версии EF, используемой VS 2012, или использование VS 2010.
В нем говорится, что TGDC
не реализует интерфейс IDisposable.
Как выглядит декларация класса для TGDC? У вас больше ошибок компилятора? У вас есть несколько классов с именем TGDC в разных пространствах имен?
Я получаю это периодически, и какое-то время я всегда боролся с ним, потому что не сразу понял, что случилось. Похоже, все обручи перепрыгнуты, но, увы, не так. В конце концов решение останется.
В проекте вы пишете этот код, который ссылается на проект, в котором определен ваш "TGDC", но вы не ссылаетесь на System.Data.Linq. Вы должны ссылаться на обе эти сборки. Это может произойти только тогда, когда вы используете своего рода многоуровневую архитектуру.