NET 6 - 实体框架核心错误:找不到 SQL Server 或无法访问 SQL Server

问题描述 投票:0回答:2

我正在创建 ASP.NET Core 6 Web API (VS 2022),并通过 swagger ui 执行任何控制器 API 都会导致连接到 SQL Server 错误。遵循 本教程,但在 .NET 6 中实现。

部分错误日志:

Entity Framework Core 6.0.7 使用提供程序“Microsoft.EntityFrameworkCore.SqlServer:6.0.7”初始化“CommanderContext”,选项:无
失败:Microsoft.EntityFrameworkCore.Database.Connection[20004]

使用服务器“localhost”上的数据库“CommanderDB”连接时发生错误。

失败:Microsoft.EntityFrameworkCore.Query[10100]
迭代上下文类型“Commander.Data.CommanderContext”的查询结果时发生异常。
Microsoft.Data.SqlClient.SqlException (0x80131904): 建立与 SQL Server 的连接时发生网络相关或特定于实例的错误。找不到服务器或无法访问服务器。
验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供程序:TCP 提供程序,错误:40 - 无法打开到 SQL Server 的连接:无法打开到 SQL Server 的连接)

appsettings.json

中的连接字符串,已与服务器资源管理器数据库属性检查并匹配。检查 SQL Server 是否在配置管理器中运行并且能够在 SSMS 中访问。执行
dotnet ef migrations add
成功连接并创建了表。远程连接已启用。

{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "ConnectionStrings": { "CommanderConnection": "Data Source=localhost;Initial Catalog=CommanderDB;User ID=CommanderAPI;Password=1234;" } }
使用以下代码连接 

Program.cs

builder.Services.AddDbContext<CommanderContext>(opt => opt.UseSqlServer(builder.Configuration.GetConnectionString("CommanderConnection"))); builder.Services.AddScoped<ICommanderRepo, SqlCommanderRepo>();
编辑:

SQL Server 协议 SS:

启用共享内存和 TCP。

c# sql-server .net-6.0
2个回答
1
投票
已解决,正在 docker 上运行,因此无法连接到本地主机。切换到(项目名称)。

Dropdown split button options


0
投票
我遇到了同样的错误,我可以看看你的连接字符串吗

© www.soinside.com 2019 - 2024. All rights reserved.