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

时间:2017-10-29 09:36:27

标签: c# asp.net asp.net-mvc entity-framework

我在解决方案中有两个项目' SOL' :(网络4.6.1)

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

    • 使用CodeFirst模型
    • 使用LocalDb
    • Domain / web.config同样位于MVCStore / web.config,未定义任何连接字符串

    效果很好

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

    1. GuideMVC参考Domain
    2. 当我想从Domain项目对存储库执行任何操作时,我收到错误:

        

      无法附加文件' ... MVCStore \ AppData \ SOL.Domain.Concrete.EFDbContext.mdf' .mdf'作为数据库' SOL.Domain.Concrete.EFDbContex'

      所以它不起作用

      我将连接字符串显式添加到MVCStore/web.config(从VS中的Server Explorer复制),现在可以正常工作。

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

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

      • 添加了对Domain
      • 的引用
      • 从NutGet添加EF(与第二次MVC项目相同)

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

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

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

1 个答案:

答案 0 :(得分:0)

尝试先将其恢复到sql server,然后尝试从db

生成模型