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

Joh*_*rds 5 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;
Run Code Online (Sandbox Code Playgroud)

我无法想到一个原因,为什么在试图添加到SAME数据库的其他项目中使用此连接字符串会引发此错误。我尝试在第2个项目中进行迁移之前删除RAMSAPPDB中的所有表,但这是行不通的。

如果我注释掉“ ConnectionString”,则会收到错误消息

connectionString不能为空

所以我知道它正在使用我的appsettings.json

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

Joh*_*rds 5

我解决了。这是我很久以前写的,后来忘记了

 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{

optionsBuilder.UseSqlServer("Server=.\\SQLEXPRESS;Database=MYDB;Integrated     Security=True;MultipleActiveResultSets=True;");

}
Run Code Online (Sandbox Code Playgroud)

当我运行“dotnet ef 数据库更新”命令时,正在使用我的 DbContext 类。我认为它正在使用我的 appsettings.json 中的内容。


Big*_*oul 5

开发模式下,有时这是由appsettings.json文件引起的。如果是这种情况,那么您应该寻找appsettings.Development.json文件并在其中进行更改。

如果您在Visual Studio中,并且启用了相关文件嵌套,则可以通过单击appsettings.json旁边的箭头来访问appsettings.Development.json,或将其打开并右键单击其标题栏,然后选择“打开包含文件夹” 。appsettings.Development.json应该在此处,将连接字符串更改为所需的字符串,一切顺利。