2015-04-26 6 views
2

Внутри моего проекта DAL у меня есть хранилища, которые я использую из ui. Я рефакторинг проект немного и теперь собирать данные из хранилища я получаю ошибкиВ файле конфигурации приложения нет строки подключения с именем «MyAppDbContext»

«Нет строки соединения не назвал„MyAppDbContext“может быть найден в конфигурационном файле приложения.»

Мои App.config на одном проекте (ДАЛ), где живет хранилище имеют следующий Context

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />  
    </configSections> 
    <connectionStrings> 
    <add name="MyAppDbContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MyApp.DAL.MyAppDbContext;Integrated Security=True;AttachDBFilename=MyApp.DAL.MyAppDbContext.mdf" providerName="System.Data.SqlClient" />    
    </connectionStrings> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 
</configuration> 

Я на самом деле есть два вопроса:

  • Почему я получаю сообщение об ошибке: Msgstr "В файле конфигурации приложения нет строки подключения с именем MyAppDbContext."
  • Как установить путь в conn. string, чтобы использовать db из каталога App_Data (после его перемещения туда)
+0

Что значит «использовать db из App_Data»? Использовать ли там строку соединения? –

+0

Я хочу физически переместить db в App_Data и установить это местоположение в conn. строка. – user1765862

+0

@ user1765862 Посмотрите на ms sql compact edition или sqlite. Я думаю, что это будет лучшее решение для локального db в App_Data –

ответ

1

Попробуйте добавить строку подключения в конфигурационный файл проекта-потребителя, а не проект DAL.

+0

Это настолько странно. Это сработало и для меня, но почему? И что, если у меня есть только один проект, определения модели данных и другой основной исполняемый проект? –

+0

@ AndyJ, Не уверен, но это то, что есть. Для загрузки модели данных и выполнения кода необходим некоторый исполняемый или основной проект, и по умолчанию это происходит от конфигурации. Ваша модель данных не может выполнить сам, так что этого не может быть! –

Смежные вопросы

 Смежные вопросы