WPF и ADO.NET EF - ошибка - PullRequest
       6

WPF и ADO.NET EF - ошибка

0 голосов
/ 19 июня 2010

Я получаю эту ошибку:

Microsoft.Practices.Composite.Modularity.ModuleInitializeException was unhandled
  Message=An exception occurred while initializing module 'DiagrammerModule'. 
    - The exception message was: An exception has occurred while trying to add a view to region 'MainRegion'. 
    - The most likely causing exception was was: 'System.ArgumentException: The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
   at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
   at System.Data.EntityClient.EntityConnection..ctor(String connectionString)
   at System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)
   at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
....

Строка подключения хранится в app.config и выглядит следующим образом:

<connectionStrings>
    <add name="DBEntities" connectionString="metadata=res://DataAccessLayer/EntityDataModel.csdl|res://*/EntityDataModel.ssdl|res://*/EntityDataModel.msl;provider=System.Data.SqlServerCe.3.5;provider connection string=&quot;Data Source=|DataDirectory|\DB.sdf;Password=password;Persist Security Info=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

, где DataAccessLayer - это имя DLL, котораясодержит модель и сущности.

Что не так с этим кодом?

Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2011

На указанной вами ссылке указано: «*» заменяется именем библиотеки DLL, содержащей файл.

Поэтому убедитесь, что вы заменили все вхождения «*» следующим образом:1003 *

<connectionStrings>
  <add name="DBEntities" connectionString="metadata=res://DataAccessLayer/EntityDataModel.csdl|res://DataAccessLayer/EntityDataModel.ssdl|res://DataAccessLayer/EntityDataModel.msl;provider=System.Data.SqlServerCe.3.5;provider connection string=&quot;Data Source=|DataDirectory|\DB.sdf;Password=password;Persist Security Info=True&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
0 голосов
/ 19 июня 2010

Похоже, что конструктор контекста данных не может найти строку подключения в файле конфигурации. Проверьте, что файл скопирован в выходной каталог приложения и имеет имя {your-WPF-applicationaiton-name} .exe.config (а не {your-DLL-содержа-

...