我使用 Entity Framework 6.2.0
与asp.net MVC代码优先方法来做一个示例应用程序 .
我已成功启用迁移和更新数据库 . 因此, database
Vidly.Models.ApplicationDbContext.mdf
已在 App_Data
文件夹中的解决方案资源管理器中创建 .
我在我的Models文件夹中声明了一个类,如下所示:
public class ApplicationDbContext : DbContext
{
public DbSet<Customer> Customers { get; set; }
}
在我的 Web.Config 文件中,我添加了如下连接字符串:
<connectionStrings>
<add name="ApplicationDbContext" connectionString="Data Source=.;Initial Catalog=Vidly.Models.ApplicationDbContext;Integrated Security=true;" providerName="System.Data.SqlClient"/>
</connectionStrings>
但是,当我启动应用程序时,我收到以下异常:
System.Data.SqlClient.SqlException:'与SQL Server Build 连接时发生与网络相关或特定于实例的错误 . 服务器未找到或无法访问 . 验证实例名称是否正确,以及SQL Server是否配置为允许远程连接 . (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)'
我在stackoverflow上查了类似的异常,但无法弄清楚出了什么问题 . 有人可以告诉我这里有什么问题吗?谢谢 .
2 回答
您已在 App_Data 文件夹中创建数据库,但您尝试访问该SQL Server .
试试这个
我看到这是 NOT 你的具体情况(但它与你所遇到的例外情况有关 - 所以为了完整起见添加了这个答案)
我有同样的错误,问题的原因是我忘了将
providerName
添加到连接字符串...(在我的例子中 - 来自Azure门户的coppied sql字符串,在
Web.config
文件中手动创建了connectionString
参数,忘了添加providerName参数,所以这样的错误并不难......)因此,如果您遇到此类异常,则应检查连接字符串是否正确/是否缺少提供程序名称 .