【问题标题】:The underlying provider failed on Open in entity framework connection基础提供程序在实体框架连接中打开失败
【发布时间】:2013-08-10 11:57:58
【问题描述】:

我在 .net 4 中使用实体框架并在项目中使用此连接:

<add name="Database1Entities" connectionString="metadata=res://*/Model.Model1.csdl|res://*/Model.Model1.ssdl|res://*/Model.Model1.msl;provider=System.Data.SqlClient;pr  ovider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector  y|\Database1.mdf;initial catalog=Database1;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

并显示此错误:

底层提供程序在打开时失败。

【问题讨论】:

  • 您是否使用向导创建了连接字符串? provider connection string 名称和值中有几个空格。
  • 我已经为附加数据库使用了连接字符串。我删除连接字符串向导并插入我的连接。
  • 您的问题已在此链接中解决:[底层提供程序在打开时失败][1] [1]:stackoverflow.com/questions/2475008/…
  • 看看InnerException。以我的经验,真正的根本原因在那里找到。

标签: c# entity-framework connection-string


【解决方案1】:

我不知道您为什么会收到此错误,但我使用此连接字符串并且没有任何问题。 记住 DbContext 类的名称和连接字符串应该相同

<add name="MyDB"
     connectionString="Server=127.0.0.1;User ID=sa;Password=password;Database=Database"
     providerName="System.Data.SqlClient"/>

【讨论】:

    【解决方案2】:

    问题不在于您的连接字符串。这主要发生在您一次又一次地重建和清理项目时。解决这个问题的一个简单方法是关闭本地主机并等待 2 到 3 分钟。如果您再次遇到此问题,请关闭您的项目并再次打开您的项目。你的问题会解决的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多