-
Connector/NET 现在在所有支持 NET Standard 2.0 的平台上支持 Entity Framework Core 3.1.1。Microsoft Entity Framework Core 3.1.1 与以前版本的 EF Core 不兼容,并且此版本的 Connector/NET 不支持那些以前的版本(2.1、2.0、1.1)(请参阅 Entity Framework Core 支持)。
此外,
MySql.Data.EntityFrameworkCore.Design
NuGet 包已弃用,该包提供的功能现已与该MySql.Data.EntityFrameworkCore
包合并。 Connector/NET 现在提供 X 协议负载数据的压缩,可以使用新的
Compression
连接选项进行配置。如果 MySQL 服务器实例也支持压缩,则该选项preferred
默认设置为模式以压缩负载数据。有关每个选项值的说明,请参阅 仅适用于 X 协议的选项。-
文档存储: Connector/NET 现在为集合提供 JSON 架构验证,以强制执行文档在被允许插入或更新之前必须遵守的特定结构。模式验证由服务器执行,如果集合中的文档与模式定义不匹配或者服务器不支持验证,则服务器会返回一条错误消息。
现有
Schema.CreateCollection
方法现在已重载,可用于将CreateCollectionOptions
具有模式定义的对象传递给 MySQL 服务器。使用新的重载方法时,将原始方法的ReuseExistingObject
参数设置为选项 。CreateCollectionOptions
执行级别(off
或strict
,strict
默认情况下)和模式定义使用该validation
选项指定,例如:var collOptions = CreateCollectionOptions() { reuseExistingObject = false, validation = Validation() { level = ValidationLevel.Strict, schema = "{\"id\": \"http://json-schema.org/geo\"," + "\"$schema\": \"http://json-schema.org/draft-06/schema#\"," + " \"description\": \"A geographical coordinate\"," + " \"type\": \"object\"," + " \"properties\": {" + " \"latitude\": {" + " \"type\": \"number\"" + " }," + " \"longitude\": {" + " \"type\": \"number\"" + " }" + " }," + " \"required\": [\"latitude\", \"longitude\"]" + " }" } }; var coll = schema.CreateCollection("longlang", collOptions);
此外,一种新方法允许重置现有集合的模式验证。该
Schema.ModifyCollection
方法将一个ModifyCollectionOptions
对象传递给服务器。validation
集合选项必须包含修改后的值level
或schema
值(或两者),例如:var collOptions = ModifyCollectionOptions() { validation = Validation() { level = ValidationLevel.Off } }; var coll = schema.ModifyCollection("longlang", collOptions);
该
ReuseExistingObject
选项不支持修改,如果使用则返回错误消息。
与具有指向同一服务器的不同 IP 地址的多个 DNS 条目的命名服务器的连接生成异常。现在,当找到多个元素时,只返回第一个元素。(错误#30970949,错误#97448)
Connector/NET 8.0.19的
MySQL.Data
NuGet 包包括一个未签名的版本Ubiety.Dns.Core.dll
,它在加载时产生异常。(漏洞 #30798305,漏洞 #98204)连接器/NET 未实现使用 EF Core 3.0 搭建 MySQL 数据库的脚手架,连接器返回异常以响应其使用。此版本中对 EF Core 3.1.1 的支持增加了脚手架功能。(漏洞 #30677382,漏洞 #98011)
该
get_info
方法未包含在 Connector/NET 支持的任何 Entity Framework Core 版本(1.1、2.0 和 2.1)中。Connector/NET 现在支持 EF Core 3.1.1 并实现了该MySql.Data.EntityFrameworkCore.Infrastructure.MySQLOptionsExtension.Internal.get_info
方法。(错误#30347893,错误#96990)该
MySqlDbType.JSON
类型在准备好的语句中用作参数时会产生代码错误。Connector/NET 现在解释MySqlDbType.JSON
为MySqlDbType.VarChar
. 指定 JSON 列不需要更改代码。(缺陷 #29959124,缺陷 #95984)尝试
bool?
使用 EF Core 数据库上下文读取定义为对应于具有类型属性(可为空布尔值)的 MySQL 表的模型类的记录,返回错误消息。(缺陷 #29833103,缺陷 #93028)MySqlDataReader
关闭父对象时,对该对象的 访问受到限制MySqlCommand
。此修复修改MySqlCommand.Dispose()
为不再调用该ResetReader
方法。(缺陷 #27441433,缺陷 #89159)