Библиотека классов с использованием Entity Framework DbContext

У меня есть два проекта ASP.NET MVC5, я хочу подключить их к одной базе данных. Я создал библиотеку классов, содержащую модели и файл DbContext.

Первое приложение подключается правильно, но когда я запускаю второе, я получаю сообщение об ошибке:

Невозможно прикрепить файл «c:\users\saibi\documents\visual studio 2015\Projects\MonPFE\MonPFE.Frontend\App_Data\MonPFEContext-20161121115318.mdf» в качестве базы данных «MonPFEContext-20161121115318»

PS: у меня есть web.config в каждом проекте.


person Majdi Saibi    schedule 23.11.2016    source источник
comment
Кажется, что последний проект использует локальную базу данных вместо базы данных, которую использует прежний. Я полагаю, вы хотите обновить строки подключения к базе данных, указывающие на одну и ту же базу данных.   -  person Win    schedule 23.11.2016


Ответы (1)


Убедитесь, что у вас есть одна и та же строка подключения в каждом файле Web.config и что они указывают на одну и ту же базу данных. Помните, что относительные пути для AttachDbFilename будут указывать на разные каталоги.

Бьюсь об заклад, у вас есть строки подключения, которые выглядят примерно так:

<connectionStrings>
    <add name="MonPFEContext" connectionString=".\SQLExpress;AttachDbFilename=|DataDirectory|MonPFEContext.mdf; Database=MonPFEContext;Trusted_Connection=Yes;" providerName="System.Data.SqlClient"/>
  </connectionStrings>

|DataDirectory| обычно будет папкой App_Data в каждом веб-проекте. Файл базы данных существует в одном веб-приложении, но не существует в другом. Обновите AttachDbFilename, указав полный путь к файлу, или используйте относительный путь к тому же файлу.

person akatakritos    schedule 23.11.2016
comment
Я не обратил внимания на путь к базе данных, спасибо @akatakritos, теперь он работает. - person Majdi Saibi; 23.11.2016