代码优先迁移 - 更新数据库错误 - 网络相关实例?

Code First Migration- Update Database error- Network related Instance?

在尝试使用代码优先迁移更新数据库时,我一直在努力寻找解决以下错误的方法。

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 50 – Local Database Runtime error occurred. The specified LocalDB instance does not exist.

我找到了下面的,想知道有没有其他方法可以解决这个错误

我的回答:


确保您的 SQL Server Management Studio 安装在您的 PC 上,您的 SQL 服务器实例应该是 SQLEXPRESS v11.0。为什么是 V11.0?因为 Visual Studio 代码的本地数据库首先适用于版本 11.0。

转到 SQL 服务器配置管理器,展开 SQL 服务器网络配置并双击 SQLEXPRESS 的协议。

确保名称管道和 TCP/IP 已启用。

返回您的 Web 应用程序,单击您的 web.config。您的连接字符串应该是

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

确保它转到 (LocalDb)\v11.0

转到程序包管理器控制台并 运行 update-database

我在尝试使用默认选项时遇到了很多问题。我更喜欢在使用 Add-Migration 或 Update-Database 时指定连接字符串。我也可以使用开发服务器而不是 SQL Express。

Add-Migration AddSomeThing -ConnectionString "Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-EMS_Events-20151217024735.mdf;Initial Catalog=aspnet-EMS_Events-20151217024735;Integrated Security=True" -ConnectionProviderName "System.Data.SqlClient" -Verbose

Update-Database -ConnectionString "Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-EMS_Events-20151217024735.mdf;Initial Catalog=aspnet-EMS_Events-20151217024735;Integrated Security=True" -ConnectionProviderName "System.Data.SqlClient" -Verbose