Entity Framework Core 7开发环境SQL Server证书信任异常求助
解决EF Core 7连接SQL Server时的SSL证书信任问题
升级到EF Core 7后出现该错误的核心原因是EF Core 7默认强制开启SQL Server连接加密(Encrypt=True),而开发环境的SQL Server Developer使用自签名证书,系统无法信任证书链,导致登录失败。以下是几种有效的缓解方案:
修改连接字符串:在连接字符串中显式添加
TrustServerCertificate=True和Encrypt=False(若需保留加密,仅保留TrustServerCertificate=True即可,它会让客户端信任SQL Server的自签名证书),示例:Server=.;Database=YourDatabaseName;Trusted_Connection=True;TrustServerCertificate=True;Encrypt=False;在DbContext配置中强制指定信任证书:如果连接字符串修改未生效,可在DbContext的配置代码中直接设置:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer( "Server=.;Database=YourDatabaseName;Trusted_Connection=True;", sqlOptions => sqlOptions.TrustServerCertificate(true) ); }这种方式会直接覆盖连接字符串中的相关配置,确保生效。
调整SQL Server实例的加密设置:打开SQL Server配置管理器,依次展开
SQL Server网络配置->你的SQL Server实例协议->TCP/IP,右键选择属性:- 在
证书选项卡,确认没有强制绑定证书; - 在
标志选项卡,将Force Encryption设置为No,重启SQL Server服务后生效。
- 在
注意:VS2022服务器资源管理器的设置仅适用于VS内部的数据库连接,不会影响应用程序运行时的连接配置,因此必须在应用的连接字符串或DbContext代码中做修改。
内容的提问来源于stack exchange,提问作者user3802434
相关产品推荐
相关产品推荐

