【问题标题】:ASP.NET Code-First (Entity Framework) Error on update-database更新数据库上的 ASP.NET 代码优先(实体框架)错误
【发布时间】:2017-01-04 06:57:08
【问题描述】:

我直接进入正题。

我实际上是在这里尝试学习 C# asp.net mvc 模式,并且我使用的是实体框架代码优先方法,但是当我尝试在包管理器控制台上输入 update-database 时,它给了我错误。

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

它说服务器未找到或无法访问但是,我尝试使用模型优先方法在 sql 服务器上连接并且没有任何问题...我不知道为什么它给我错误时我尝试了实体框架代码优先的方法。

我正在使用 sqlserver 2014

我真的很陌生,所以请多多包涵……

这是我的连接字符串

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

提前致谢。

【问题讨论】:

  • 您能否将 web.config 中的连接字符串添加到您的问题中。 EF 将使用与您的 DBContext 类同名的连接字符串。
  • 你好@RaviA。我已经添加了我的连接字符串...我的数据库实例是Q3Q1W1\SQLEXPRESS
  • 您好,我不建议您自己创建连接字符串。尝试使用IDE的功能创建它。该步骤非常简单,例如 VS2015 和 SQL-server 2014 数据库。在VS2015中,点击Model文件夹(默认MVC文件夹),点击Add,点击New Item,在左侧菜单中选择Data,然后在右侧面板中选择“ADO.NET Entity Data Model”,选择“Code First from database ",然后单击新建连接以连接到您的数据库,并选择要应用的 MVC 和 EF 的表或存储过程。这些工具很难出错
  • @SKLTFZ 我实际上是在使用update-database.. 在 sql server 上设置数据库。这就像将我的类迁移到数据库中。
  • 我明白了,我认为这是代码优先的方法,这个简单的教程可能会有所帮助。 entityframeworktutorial.net/code-first/… 。您还想了解更多关于代码优先迁移的信息。

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


【解决方案1】:

我碰巧通过更改连接字符串的实例来解决我的问题。

我将 localdb 改为 Q3A1W1\SQLEXPRESS,而不是 Q3A1W1\SQLEXPRESS,这是我现有 sql server 的一个实例。

<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=Q3A1W1\SQLEXPRESS;Initial Catalog=aspnet-movieRental-20170103091543;Integrated Security=True" />

【讨论】:

    【解决方案2】:

    连接字符串出现问题时显示此错误。 尝试使用以下连接字符串模式

    @"Server=(localdb)\MSSQLLocalDB;Database=xyz;Trusted_Connection=True;Integrated Security=true;"
    

    "Server=(localdb)\\MSSQLLocalDB;Database=xyz;Trusted_Connection=True;Integrated Security=true;"
    

    如果需要,不要忘记在连接字符串中添加用户名和密码

    您的问题仍然存在,然后尝试以下调整。

    1. 检查 SQL Server 服务是否正在运行。
    2. 检查远程连接已启用。
    3. 检查 SQL Server 默认端口 1433 添加防火墙。
    4. 检查 TCP/IP 是否在 SQL Server 配置管理器中启用 -> SQLSERVER 协议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多