-
连接选项的默认值
SslMode
现在根据用于建立连接的协议而有所不同。Preferred
此版本中已重新引入 该模式(请参阅经典 MySQL 协议和 X 协议的选项)。总结Sslmode
Connector/NET 8.0(和 7.0)版本系列中的默认值:Connector/NET 8.0.13:
Preferred
模式是仅经典 MySQL 协议连接的默认模式。Required
模式仅是 X 协议连接的默认模式(Preferred
模式不可用于 X 协议)。连接器/NET 8.0.8 到 8.0.12:
Preferred
任何连接都不支持模式。Required
模式是经典 MySQL 协议和 X 协议连接的默认设置。Connector/NET 7.0.0 到 7.0.7:
Preferred
模式是经典 MySQL 协议和 X 协议连接的默认模式。(漏洞#28687769)
文档存储:对使用连接字符串创建会话的性能进行了增量改进。(缺陷号 28343655)
连接器/NET 8.0.13 中添加了对 EF Core 2.1 的支持,同一连接器版本中停止了对 EF Core 2.0 的支持。其他版本的连接器/NET 继续支持 EF Core 2.0(请参阅 Entity Framework Core 支持)。
-
ConnectionTimeout
连接选项和属性被重新实现 为 X 协议操作的选项(和属性 )Connect-Timeout
。ConnectTimeout
超时行为的某些方面已更改(请参阅 仅限 X 协议的选项)。新
ConnectTimeout
属性已添加到MySqlX.XDevAPI.MySqlXConnectionStringBuilder
类中,现有ConnectionTimeout
属性已删除。ConnectionTimeout
没有对经典 MySQL 操作 的选项(或属性)的现有实现进行任何修改 。 -
Connector/NET 现在为使用 X 协议的应用程序提供连接池。该实现包括
MySQLX.GetClient
采用两个参数的新静态方法:(
连接字符串或 URI)和connectionData
(JSON 格式的字符串或包含池选项的匿名对象)。方法重载启用以下类型组合:connectionOptions
MySQLX.GetClient(Object, Object) MySQLX.GetClient(Object, String) MySQLX.GetClient(String, Object) MySQLX.GetClient(String, String)
GetClient
返回新Client
对象,它从池中检索现有的和当前未使用的网络连接,重置它并使用它。关闭会话会将基础连接标记为未使用并将其返回到池中。连接选项配置如下:// Connection options of type String Client client = MySQLX.GetClient(ConnectionData, "{ \"pooling\": { \"maxSize\": 5, \"queueTimeout\": 5000 } }"); // Connection options of type Object (anonymous object) Client client = MySQLX.GetClient(ConnectionData, new { pooling = new { maxSize = 5, queueTimeout = 5000 } });
new
当使用匿名对象配置连接选项时,必须使用 该关键字两次。连接选项有:enabled
、maxSize
、maxIdleTime
和queueTimeout
。有关详细信息,请参阅 连接和会话概念。
和方法被添加到
CreateCommandBuilder
类 中。感谢 Cédric Luthi 提供补丁。(漏洞 #28560189,漏洞 #92206)CreateDataAdapter
MySqlClientFactory
文档存储:调用方法时执行的连接器端验证
Collection.CreateIndex
重复了服务器已经进行的一些检查。连接器现在仅验证indexDefinition
传递给该方法的值是具有正确结构的有效 JSON 文档。(缺陷号 28343828)EF Core:将新属性(定义为数字、具有默认值且不是主键)添加到已包含具有该
AUTO_INCREMENT
属性的主键列的实体时,会生成无效语法错误。此修复在添加属性之前首先验证实体属性(列)是主键。(缺陷号 28293927)TIMESTAMP
当从 MySQL 表中读取 该列时,Connector/NET 返回了错误的时区 。(漏洞#28156187)文档存储:
Set
与和 一起使用时,混合字母数字值(例如“1address”)会Unset
导致操作引发异常。此修复解决了将混合值转换为标记以仅生成一个标记作为标识符的方式。(缺陷号 28094094)EF Core:构建现有数据库所需的一些方法的实现不完整。(缺陷 #27898343,缺陷 #90368)
当密钥由 MySQL 8.0 版本系列中的服务器生成时,尝试从应用程序中创建新的外键会导致异常。(漏洞 #27715069)
POINT
在针对 MySQL 8.0 的应用程序中正确使用 类型变量会生成 SQL 语法错误。(漏洞 #27715007)的实现
DbProviderFactory
阻止应用程序以通用方式连接到 MySQL。现在,调用该CreateDataAdapter
方法会返回一个有效的适配器而不是返回null
值。(错误#27292344,错误#88660)使用不区分大小写的比较逻辑初始化字段序号的区分大小写查找。此修复删除了原始的区分大小写的查找。(缺陷 #27285641,缺陷 #88950)
MySql.Data.Types.MySqlGeometry
使用表示空几何集合的字节数组调用 的构造函数生成ArgumentOutOfRangeException
异常,而不是按预期创建类型。感谢 Peet Whittaker 提供的补丁。(错误#26421346,错误#86974)通过减少服务器建立和维护连接所需的操作系统详细信息的频率和范围,与 MySQL 建立的缓慢连接得到了改善。(漏洞 #22580399,漏洞 #80030)