底层提供程序在开放实体框架上失败

时间:2012-08-03 10:16:26

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

我在我的网络应用程序中没有实体框架。早些时候一切都很好。但后来我从Sql Server中删除了数据库。之后每当我运行应用程序时,我都会遇到以下异常:

The underlying provider failed on open entity framework  

如果我们从Sql Server中删除数据库并再次运行应用程序,是不是真的再次创建了数据库呢?

3 个答案:

答案 0 :(得分:3)

实体框架将在应用程序启动时重新创建数据库,假设如下:

  • 您有权在SQL中创建数据库
  • 正确指定连接字符串(如果它在此之前工作正常)
  • 您正在为数据库使用CodeFirst或ModelFirst策略(例如,如果您从现有数据库生成EDMX,则不会为您重新创建它)。

答案 1 :(得分:3)

您能否显示一些有关连接字符串的详细信息。我基本上想检查您正在使用的身份验证。 用于设置典型身份验证的演示:http://msdn.microsoft.com/en-us/library/ff649314.aspx

另一种可能是连接池。尝试显式关闭连接(如果有任何打开的连接)

db.Database.Connection.Close();

答案 2 :(得分:0)

我遇到了类似的错误,原因是连接问题。 通常,您需要在您的实体(EDML)下打开* .EDPS文件并检查您的连接字符串,并确保它具有正确的设置,尤其是您的默认Oracle主页。