EF Core无法连接到服务器 - 与网络相关或特定于实例的错误

时间:2017-03-15 16:39:04

标签: c# entity-framework asp.net-web-api asp.net-core asp.net-core-webapi

重要:在人们指出常见原因之前,连接字符串在本地计算机上的一个项目中工作,而不是在连接到同一本地实例的同一本地计算机上的另一个项目SAME数据库。

我有一个奇怪的问题。我有2个EF核心项目。我在第一个项目中的连接字符串工作正常。我可以键入" dotnet ef database update",它会将我的迁移推送到LOCAL数据库。我将以下字符串完全粘贴到我的第二个项目中,然后抛出错误:

  

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)

这是我的连接字符串:

Server=.;Database=RAMSAPPDB;Integrated Security=False;Persist Security Info=True;MultipleActiveResultSets=True;

我想不出为什么在我试图添加到SAME数据库的其他项目中使用此连接字符串会引发此错误的一个原因。在推送第二个项目中的迁移之前,我尝试删除RAMSAPPDB中的所有表,但它不起作用。

如果我注释掉" ConnectionString",我会收到错误

  

connectionString不能为空

所以我知道它使用了appsettings.json中的连接字符串。

对于可能原因的任何想法将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:3)

我解决了。很久以前我写过这篇文章就忘记了

bind
我在运行“dotnet ef database update”命令时使用了我的DbContext类中的

。我以为它正在使用我的appsettings.json中的内容。

答案 1 :(得分:1)

我的connectionString被复制并硬编码到我的Entity Framework脚手架DbContext中。这就是为什么我的应用程序没有在appsettings.json中使用connectionString。