EDMX строка подключения - PullRequest
       16

EDMX строка подключения

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

так что история такая.

У меня есть проект с именем PA.DLL, в котором есть файл сущности (edmx).

В другом проекте, на который я ссылаюсь на PA.DLL, я скопировал строку подключения, которая была создана (автоматически) при создании файла edmx, в главное приложение app.config.

однако, когда я загружаю и запускаю следующие строки:

using (PAEntities analytix = new PAEntities())
           {
...
}

я получаю следующую ошибку:

System.ArgumentException: The specified default EntityContainer name 'PAEntities' could not be found in the mapping and metadata information.

Кто-нибудь знает, в чем причина этой ошибки?

Вот как настроена моя строка подключения:

<add name="PAEntities" 
    connectionString="metadata=res://*/PAEntities.csdl|res://*/PAEntities.ssdl|res://*/PAEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=XSXSX;Initial Catalog=PA;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

Спасибо

Ответы [ 2 ]

7 голосов
/ 15 апреля 2011

В обозревателе решений щелкните правой кнопкой мыши файл модели данных объекта (.edmx) и нажмите «Открыть с помощью». Откроется диалоговое окно, чтобы выбрать программу для открытия файла. Выберите или дважды щелкните «XML (текстовый) редактор».

Теперь вы просматриваете XML-версию файла EDM, в которой вы можете легко отредактировать имя EntityContainer.

Если вы изменили строку подключения в файле webconfig, убедитесь, что «DefaultContainerName» - это имя раздела «EntityContainer» в этом XML-файле.

Обычно, когда вы обновляете defaultContainerName в файле * .Designer.cs, он не обновляет файл XML. Таким образом, вы должны сделать это вручную.

3 голосов
/ 11 февраля 2010

Одним из решений является размещение строки подключения в файле конфигурации проекта, использующего вашу DLL.
Другой способ - передать строку подключения в коде (используйте параметризованный конструктор PAEntities).

...