dotnet ef数据库更新中与网络相关或特定于实例的错误

时间:2016-07-28 14:02:37

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

我正在学习使用带有this教程的Visual Studio构建ASP.NET Core MVC应用程序。在" Adding a model"步骤我创建了一个新的单独项目(如说明中所述),但是当我运行dotnet ef database update时,会出现以下错误:

  

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:52 - 无法找到本地数据库运行时安装。验证是否已正确安装SQL Server Express并且已启用本地数据库运行时功能。)

但是我已经安装了SQL Server并且SQLEXPRESS服务正在运行。我也尝试打开端口,但它没有帮助。

2 个答案:

答案 0 :(得分:5)

设置LocalDB

模板的连接字符串用于../led-cfg/src/,特别是localdb实例。确保你有两个。

appsettings.json

mssqllocaldb

确保已安装LocalDB。要检查,请打开命令提示符并运行{ "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-MvcMovie-87ad796f-548e-4862-9713-d2976453319e;Trusted_Connection=True;MultipleActiveResultSets=true" } } 。这将打印LocalDB命令行帮助信息。如果您没有LocalDB,then install it.

确保您有一个名为sqllocaldb的实例。要进行检查,请运行MSSQLLocalDB。如果您没有该实例,则需要创建它(sqllocaldb info)或更改连接字符串以指向您拥有的实例。

我机器上的工作示例

sqllocaldb create mssqllocaldb命令在我的机器上运行。这是我提示的各种命令的输出。

dotnet ef database update

答案 1 :(得分:0)

我想延长Shaun Luttin的答案。我遇到了同样的问题,但在这种情况下,我没有带来全新的Visual Studio安装,它也给我带来了问题。

这是我的解决方案(来自现有安装):

  1. 转到“查看并单击”“SQL Server对象资源管理器”
  2. 在您的服务器列表上右键单击服务器名称,然后单击“属性”
  3. 查找“连接字符串”。
  4. 在我的情况下,它说:

    "Source=(localdb)\\ProjectsV13;Initial...
    

    为简洁而省略

    因此,请替换Server=(localdb)\\mssql

    (localdb)\\ProjectsV13

    应该这样做.1

    enter image description here