ASP.NET - 数据库未自动从文件附加

时间:2016-09-14 18:10:02

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

我使用ASP.NET MVC 5创建了简单的Entity Framework 2网页。完成并测试此应用程序后,我决定将其迁移到我朋友的计算机上。所以我用Visual Studio解决方案将整个文件夹复制到他的计算机上。

不幸的是,启动应用程序时会出现此错误:

  

无法创建文件[数据库路径],因为它已经存在。更改   文件名,然后重试该操作。 CREATE DATABASE失败了......

问题是我的朋友不想创建新数据库,他想使用我提供的这个特定数据库文件(DB.mdf)。所以这个文件应该附加到LocalDB但不是。

连接字符串是:

<connectionStrings>
    <add name="DefaultConnection" 
         connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB.mdf;Integrated Security=True" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

确保DB.mdf位于应用程序App Data文件夹中,并在运行应用程序之前将其附加到本地db 手动

如果EF没有看到附加到localdb的数据库名为“db”的数据库,它会尝试创建它,因为它想要创建的文件已经存在,所以它正在爆炸。它不够智能,无法查看文件,只知道为你附上它。

看来你是对的,一定是在沿线某处改变了。

我认为这可能会对你有所帮助。 How does one Attach to an MDF file created by Code First using Server Explorer