【发布时间】:2022-12-18 18:17:37
【问题描述】:
我开始将我的 .NET 5/6 应用程序升级到 .NET 7,我也从 EF6 更新到 EF7, 这似乎比预期的更难:-(
我设法发现新的 SqlClient (5.0.1) 库中有重大变化, 现在强制您关闭加密或信任服务器证书。
Encrypt = false; or TrustServerCertificate = yes
在连接字符串中设置这些属性后,我再次能够连接到我的数据库。
但是,我使用的是代码优先方法,这意味着我的应用程序正在创建/迁移数据库(如果它不存在或需要迁移)。
我现在遇到了我的应用程序无法再创建空数据库的问题。我仍然得到Microsoft.Data.SqlClient.SqlException,“用户 XXX 登录时出错”.
这仅在我尝试创建新数据库时发生。 如果我在我的 SQLExpress 服务器上手动创建数据库,一切正常,将创建方案并应用迁移。问题只是数据库本身的初始创建。
Application和SqlExpress Server运行在同一台机器上,SqlServer以混合认证方式运行。我的连接字符串中启用了“可信连接”。 我的连接字符串如下所示:
服务器=.\SQLExpress;数据库=测试数据库; Trusted_Connection = 是;连接超时 = 5;加密=假;
在我更新到 .NET 7 之前,使用完全相同的连接字符串一切正常。
有任何想法吗?
【问题讨论】:
标签: entity-framework entity-framework-core .net-7.0 microsoft-data-sqlclient