EF Code First如何首次创建连接字符串?

时间:2015-01-28 21:54:27

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

假设:   需要第一次重新生成“默认”连接字符串的MVC(Code First DB)项目。

原因   我有一些错误,并试图修复卸载SQL服务器和重新安装所需的。现在项目将无法连接任何东西。 Web Config仍然显示如下的旧字符串:

 <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-TestReporting-20150127073048.mdf;Initial Catalog=aspnet-TestReporting-20150127073048;Integrated Security=True" providerName="System.Data.SqlClient" />

由于重新加载SQL2012 Express并确保在安装时检查了LocalDB,因此没有建立任何连接,也没有从以前工作的项目中生成数据库。

1 个答案:

答案 0 :(得分:1)

事实证明我的情况下连接字符串失败了,因为连接字符串中有一个AttachFile名称属性值,其中MDF文件不存在!鸡肉和鸡蛋类型的问题......

步骤1)要使Code First重新生成MDF文件,只需将DBContext类名重命名为new。不是最佳的,但是找到其他方式的好运。

步骤2)我还删除了连接字符串中的AttachFile配置,只是为了看看这一切是如何工作的,而且......连接的东西甚至不需要!

  <add name="DefaultConnection" 
    connectionString="Data Source=(LocalDb)\v11.0; 
    Initial Catalog=TestReporting; 
    Integrated Security=True" 
    providerName="System.Data.SqlClient" /> 

最后,MDF生成中似乎存在一个错误。 Code First至少应该查找该文件,然后决定该做什么,因为任何迁移工作都不起作用,CreateIfNotExists没有工作,重新安装SQL 2012没有工作甚至&#34;修复& #34; VS2013没有工作......