Невозможно создать контекст объекта - PullRequest
4 голосов
/ 10 февраля 2010

Я получаю ошибку Unable to create object context при использовании Entity Framework в ASP.NET MVC.

Фон

Каждый раз, когда я POST обращаюсь к контроллеру, я не получаю ответ. Я попытался перейти непосредственно к методу контроллера /Data/GetAll и получить эту ошибку:

Error

Указанное именованное соединение либо не найден в конфигурации, не предназначен для использования с Поставщик EntityClient или недействительный. Описание: необработанное исключение произошло во время исполнения текущий веб-запрос. Пожалуйста, просмотрите трассировка стека для получения дополнительной информации о ошибка и откуда она возникла код.

Сведения об исключении: System.ArgumentException: указанное именованное соединение либо не найден в конфигурации, не предназначен для использования с Поставщик EntityClient или недействительный.

Фрагмент кода, который выдает исключение:

public class TrackItContextCreator {
    public ObjectContext Create() {
        ObjectContext context = new ObjectContext("name=TrackItDBEntities");

        context.DefaultContainerName = "TrackItDBEntities";

        return context;
    }
}

Web.config

<add name="TrackItDBEntities" connectionString="metadata=res://*
/EntityFramework.TrackItDBModel.csdl|res://*/EntityFramework.TrackItDBModel.ssdl|res:
//*/EntityFramework.TrackItDBModel.msl;provider=System.Data.SqlClient;provider
 connection string=&quot;Data Source=host;User ID=myuseracc;Password=******;
MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

Чего мне не хватать?

1 Ответ

7 голосов
/ 10 февраля 2010

Судя по комментариям, я знаю, в чем проблема.

Если модель находится в отдельной сборке, вам необходимо убедиться, что строка подключения указана в app.config / web.config из каждой сборки, которая использует модель. Я предполагаю, что у вас это есть только в модельном проекте.

См. этот вопрос для другого примера и этот поток в MSDN . Обе похожие проблемы, связанные с моделями, находящимися в отдельных проектах / сборках. Я на 99% уверен, что это связано с вашей проблемой.

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