以下
Server
连接字符串选项的同义词在 Connector/NET 8.0.22 中已弃用,并在 8.0.23 中删除:address
、addr
和network address
。(缺陷号 31248601)
命名空间的修订
MySql.Data.EntityFrameworkCore
减少了公共类的数量。(缺陷号 31353208)以前,不支持客户端
mysql_clear_password
身份验证插件。现在,通过mysql_clear_password
在客户端与任何需要明文密码的服务器端插件一起使用,允许在不进行散列或加密的情况下发送密码,例如用于 LDAP 可插入身份验证。如果请求插件,连接器/NET 将返回错误mysql_clear_password
,但连接既未加密也未使用 Unix 域套接字。有关使用信息,请参阅 客户端明文可插入身份验证。(缺陷号 30340510)为了增强现有
AllowLoadLocalInfile
连接字符串选项的安全性,可以使用新选项指定从现在开始可以安全上传文件的单个文件夹AllowLoadLocalInfileInPath
(请参阅 仅限经典 MySQL 协议的选项)。Connector/NET 现在支持 Entity Framework 6.4,当与通用 Windows 平台 (UWP) .NET 实现一起使用时,它扩展了提供程序的兼容性以包括 Linux 和 macOS 平台(请参阅 Entity Framework 6 支持)。Connector/NET 继续支持 Entity Framework 的 .NET Framework 实现。
Windows 和 Linux 现在支持使用 MySQL Enterprise Edition SASL LDAP 身份验证插件建立的连接,但 macOS 不支持。Connector/NET实现
SCRAM-SHA-1
了SASL认证协议的认证方式。新的
compression-algorithms
连接选项设置了协商和选择支持的算法以通过 X 协议连接发送压缩数据的顺序(请参阅 仅限 X 协议的选项)。除了继续支持 .NET Core 和 .NET Framework 之外,Connector/NET 现在还包括对新的 .NET 5.0 框架的支持。我们对 .NET 5.0 和 Visual Studio 的预览版进行了兼容性测试,以鼓励早期采用者的努力。除其他功能外,.NET 5.0 通过充分利用 .NET Core、.NET Framework、Xamarin 和 Mono,提供统一的运行时行为和开发人员体验。
当连接字符串中未指定数据库名称时,过程名称在发送到服务器之前格式错误。(错误#31669587,错误#100306)
MySqlCommand.Prepare()
在为选择列的语句调用 时,微秒被错误地反序列 化,导致返回结果中丢失尾随零。现在,该类计算滴答声,而不是将微秒转换为字符串。(错误#31623730,错误#100218)TIME(
n
)MySqlTime
MySqlConnection.GetSchema("Procedures")
返回文字字符串System.Byte[]
作为ROUTINE_DEFINITION
列的值,而不是实际的例程定义。(错误#31622907,错误#100208)类型的有效查询参数
DateTime
被错误解释为字符串值。(错误#31598178,错误#100159)存储过程的参数与 调用方法
MySqlParameter
时 对应的数据类型不匹配Prepare()
不会产生异常。(错误#31458774,错误#99793)在用于从 ASP.NET Core 应用程序中的数据创建动态下拉列表的有效代码上报告了 SQL 语法错误。(漏洞 #31337609,漏洞 #99523)
实体框架代码优先迁移省略了分配给实体的模式属性,尽管自动迁移最初似乎生成了一个具有正确模式值的表。使用模式名称的后续查询返回错误。(错误#31323788,错误#94343)
TINYINT
使用脚手架时,从和BIT
数据类型到 的映射BOOLEAN
未按预期执行。(漏洞 #31304070,漏洞 #99419)当模型中的属性属性更改时 ,Entity Framework Core 迁移脚本替换
NULL
为NOT NULL
已迁移表中的列 。MaxLength
(漏洞 #31070175,漏洞 #96913)Ubiety.Dns.Core.dll
NuGet 包中包含 的二进制文件MySQL.Data
是在调试模式下构建的,这会阻止将应用程序发布到 Microsoft Store。(漏洞 #31061034,漏洞 #98955)使用 Entity Framework 代码优先迁移且没有默认系统小数点分隔符(句点字符 (
.
))的应用程序无法生成新数据库。现在,允许将系统小数点分隔符设置为不同的字符。(缺陷 #30965702,缺陷 #94358)type 的每一列都
CHAR(36)
被解释为GUID
,这可能会导致重新启动的应用程序使用MySQL.Data
包进行的第一个查询返回异常。此修复引入了专用格式 (8-4-4-4-12
) 来正确解释列类型。(缺陷 #29963760,缺陷 #93399)连接器/NET 代码没有
MySql.Data.Properties.ReservedWords.txt
一致地从程序集资源中读取,并且可能返回一组不完整的保留关键字。(漏洞 #27536342,漏洞 #89639)MySqlCommand.CommandTimeout
当设置为负数 时不会发生错误 ,但是,随后将其设置为正数会返回异常。(漏洞 #26574860,漏洞 #87316)当来自 Windows 窗体应用程序的外部包装器建立连接时,该
TcpClient
实现限制了一些连接选项。此修复允许在不返回错误的情况下调用相关的外部析构函数。(漏洞 #26427802,漏洞 #82810)在调用时不为空的连接中取消命令后,在调试模式下返回异常
CancelQuery
。感谢 Denis Yarkovoy 改进了验证补丁。(错误#26362494,错误#86836)该
DbContext.Database.Migrate()
方法没有成功,因为__efmigrationshistory
未找到该表。此修复修改了验证表是否存在的方法。(漏洞 #25901276,漏洞 #85902)当零参数值传递给
MySqlParameter
构造函数时,Connector/NETMySqlDbType
默认使用枚举进行类型映射,并将值更改为NULL
. 此修复将默认类型映射到int32
. (漏洞 #25573071,漏洞 #85027)实体框架代码优先迁移在生成的二进制列中排除了长度说明符。(漏洞 #23171349,漏洞 #81179)
Create Table
使用 Entity Framework 生成的语句缺少一些分号,这导致 MySQL 服务器返回错误。(缺陷 #22669961,缺陷 #80159)