-
connection-string 选项在 Connector/NET 8.0.23 版本中已弃用,
IgnorePrepare
并在 Connector/NET 8.0.24 版本中删除。MySqlCommand.Prepare()
删除的选项指示 Connector/NET 忽略所有使用经典 MySQL 协议进行的 调用 。(缺陷号 31872906)
-
改进的 X 协议连接的服务器断开连接处理现在会在 Connector/NET 收到来自服务器的连接关闭通知后根据需要创建日志条目并返回错误消息。Connector/NET 检测到三种新类型的警告通知。
连接空闲通知。 此通知适用于保持空闲时间超过相关超时设置的服务器连接。Connector/NET 在活动会话中或正在创建新会话时收到通知时关闭连接。尝试使用无效会话会返回“
Connection closed. Reason: connection idle too long
”错误消息。服务器关闭通知。 如果由于服务器关闭而在会话中收到连接关闭通知,Connector/NET 会终止会话并显示“
Connection closed. Reason: server shutdown
”错误消息。如果使用连接池,连接到同一端点的所有其他会话将从池中删除。连接终止通知。 如果连接被另一个客户端会话终止,Connector/NET 会在活动会话中或正在创建新会话时收到通知时关闭连接。尝试使用无效会话会返回“
Connection closed. Reason: connection killed by a different session
”错误消息。 如果经典 MySQL 协议连接遇到服务器超时,Connector/NET 现在会在服务器提供改进的错误消息时向受影响的 .NET 应用程序报告更准确的断开连接信息。
以前,Connector/NET 添加了对 MySQL Enterprise Edition SASL LDAP 身份验证插件的客户端支持,使用
SCRAM-SHA-1
和SCRAM-SHA-256
作为身份验证方法。Connector/NET 现在还支持GSSAPI/Kerberos
作为经典 MySQL 协议连接的替代身份验证方法。基于 SASL 的 LDAP 身份验证不适用于运行 macOS 的 .NET 应用程序。其他产品不再需要 SSH 隧道(端口转发)功能,该功能是为支持 MySQL 产品在 Windows 上建立安全连接而添加的。现在,首选使用 Oracle Cloud Infrastructure 或 SSH.NET 等替代方法来创建隧道。从该版本开始,相关的连接选项(
SshHostName
、SshKeyFile
、SshPassPhrase
、SshPassword
、SshPort
和SshUserName
)在建立连接器/NET 连接时不再有效。
使用区分重音的排序规则时,JSON 列中的井号被错误解释。(缺陷号 32429236)
Scaffold-DbContext
在有效的 MySQL 表上 运行无法映射多种数据类型 。此修复程序将 Microsoft 实体框架库升级到最新版本,并将所有以前排除的映射添加到 EFCore 和 EFCore5 项目。(错误#32424742,错误#102381)为每次读取构建正则表达式会降低 Connector/NET 的性能。此修复将构造限制为一个实例,该实例现在被重用。(错误#32386454,错误#101714)
Contains
Entity Framework Core 实现中不完整的 GUID 映射在使用该方法过滤记录 时导致错误 。(错误#32173133,错误#93398)附加错误代码现在可以防止查询后出现意外异常。感谢 Stanislav Revin 提供补丁。(错误#32150115,错误#101592)
如果在查询中引用了
CHAR(36)
包含值的 任何列,则会抛出异常。新验证现在会在成员为 时NULL
检查NULL
值 。(错误#32049837,错误#101252)MySqlDbType
Guid