我在解决方案"SOL"中有两个项目:(net 4.6.1)
Domain
:类库-负责访问Db(EF)、实体、存储库等MVCStore
:ASP.NET MVC应用程序-在引用中使用Domain
从数据库中检索数据
附加信息:
- 使用CodeFirst模型
- 使用LocalDb
- 在
Domain
/web.config
中,也在MVCStore
/web.config
中未定义连接字符串
它运行良好
我添加了一个额外的ASP.NET MVC项目
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,然后尝试从数据库生成模型