无法将文件.mdf作为数据库附加到多个项目中



我在解决方案"SOL"中有两个项目:(net 4.6.1)

  1. Domain:类库-负责访问Db(EF)、实体、存储库等
  2. MVCStore:ASP.NET MVC应用程序-在引用中使用Domain从数据库中检索数据

附加信息:

  • 使用CodeFirst模型
  • 使用LocalDb
  • Domain/web.config中,也在MVCStore/web.config中未定义连接字符串

它运行良好

我添加了一个额外的ASP.NET MVC项目

  1. GuideMVC参考Domain

当我想从Domain项目对存储库进行任何操作时,我会收到一个错误:

无法附加文件"。。。MVCStore\AppData\SOL.Domain.Cconcrete.EFDbContent.mdf'.mdf'作为数据库"SOL.Domain\CConcrete.EFDb内容">

所以它不起作用

我将连接字符串显式地添加到MVCStore/web.config(从VS中的服务器资源管理器复制而来),现在它就可以工作了。

但问题是:在这种情况下,第二个项目需要连接字符串的原因是什么?

我还将测试项目(控制台应用程序)添加到我的解决方案中

  • 添加了对Domain的引用
  • 添加了来自NutGet的EF(与我在第二个MVC项目中所做的相同)

这也有效!!并且在web.config中也没有连接字符串。

我在第二个MVC项目中做错了什么?

我读了很多关于这样一个错误的问题的答案,但给出的解决方案是删除数据库。我已经用许多记录填充了我的数据库,我不想删除任何数据库。

首先尝试将其恢复到sql server,然后尝试从数据库生成模型

最新更新