我的三个环境都采取了不同的行动。
EF带来了我选择的MVC网站项目模板,我并没有搞砸它。我的App_Data
文件夹中有一个mdf文件。位置和文件名由我假设的nuget安装程序确定。身份框架使用它。给你一些背景信息。
我的web.config
ef连接字符串是:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-AACOMvc-20160730112925.mdf;Initial Catalog=aspnet-AACOMvc-20160730112925;Integrated Security=True" providerName="System.Data.SqlClient" />
这是模板/安装程序提供的连接字符串。
本地计算机
有效。如果我搞乱连接字符串或mdf文件名,它就会中断。所以我知道它正在击中那个文件。
测试环境
有效。有趣,因为我没有公开App_Data
文件夹!我搜遍了整个那个盒子寻找mdf(它创建了吗?)但是没有一个。如果我在web.config中注释掉连接字符串,它仍然有效!它是&#34;聪明&#34;和&#34;鬼鬼祟祟&#34;而且我不喜欢它! :)
生产环境
它不起作用。即使我复制了App_Data文件夹,它仍然会失败并且找不到&#34;文件&#34;错误。
这个问题主要关注测试环境。如果我能知道它是如何工作的,我想我会更接近于它在生产中工作。
答案 0 :(得分:0)
我记得我通过将EF连接字符串更改为sql server实例而不是sql server文件来解决此问题。 EF甚至没有在数据库中创建任何表b / c我没有定义任何实体。