Documentation Home
MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 8.0 中的更改  /  MySQL Connector/NET 8.0.23 的变化(2021-01-18,全面上市)

MySQL Connector/NET 8.0.23 的变化(2021-01-18,全面上市)

弃用和移除说明

  • connection-string 选项在 Connector/NET 8.0.23 版本中已弃用,IgnorePrepare并在 Connector/NET 8.0.24 版本中删除。

    MySqlCommand.Prepare()删除的选项指示 Connector/NET 忽略所有使用经典 MySQL 协议进行的 调用 。(缺陷号 31872906)

  • 以下Server 连接字符串选项的同义词在 Connector/NET 8.0.22 中已弃用,并在 8.0.23 中删除:addressaddrnetwork address。(缺陷号 31248601)

添加或更改的功能

  • SSH 密码和算法的连接器/NET 更新是:

    • 加密:aes192-cbcaes256-cbc(已弃用); 3des-cbc, blowfish-cbc, twofish-cbc, twofish128-cbc, twofish192-cbc, twofish256-cbc(无效)

    • 主机密钥算法:(ssh-rsa 已弃用);sh-dss(无效的)

    • 密钥交换算法:( diffie-hellman-group-exchange-sha1 无效)

    • 键控哈希消息验证码: hmac-ripemd160, hmac-ripemd160@openssh.com, hmac-sha1-96(无效)

    (缺陷号 31917057)

  • 使用 MySQL 提供程序模型 ( MySql.Web) 的 ASP.NET 应用程序现在可以面向 .NET Framework 4.8。(缺陷号 31799902)

  • 以前,Connector/NET 添加了对 MySQL Enterprise Edition SASL LDAP 身份验证插件的客户端支持SCRAM-SHA-1作为身份验证方法。Connector/NET 现在还支持 SCRAM-SHA-256作为经典 MySQL 协议连接的替代身份验证方法。 SCRAM-SHA-256类似 SCRAM-SHA-1但更安全。基于 SASL 的 LDAP 身份验证不适用于运行 macOS 的 .NET 应用程序。

  • 随着 Entity Framework Core 5.0 和 Entity Framework Core 3.1 的可用性,Connector/NET 现在提供两个不同的 EF Core NuGet 包。拆分使连接器能够支持两个不同的功能集。最初,Connector/NET 在此版本中支持部分 EF Core 5.0 功能集(相当于 EF Core 3.1)。有关详细信息,请参阅 实体框架核心支持

    重大更改:所有 名称空间都重命名为 . MySql.Data.EntityFrameworkCore.xxxMySql.EntityFrameworkCore.xxx

    连接器/NET 8.0.23 的新 EF Core 包命名:

    • 5.0.0+m8.0.23

    • 3.1.10+m8.0.23

修正错误

  • 如果准备好的语句没有参数,Connector/NET 会在COM_STMT_EXECUTE数据包结构中包含一个对应的字节,new-params-bound-flag 而不是仅在参数数量大于零时才发送该字节。(缺陷号 32208427)

  • 不完整的验证限制了具有 type 参数的存储过程可以使用该属性Boolean分配 的预期值范围 。MySqlParameter.MySqlDbType(错误#32066024,错误#101302)

  • 更强的验证适用于证书库中包含的信息,用于使用 SslMode. (缺陷号 31954655)

  • 添加了连接超时以防止该 MySqlConnection.Open方法在 MySQL Router 意外重启后无限期地等待响应。(错误#31945397,错误#100692)

  • 在有效的 EF Core 操作期间使用错误的数据类型进行的转换返回异常。(错误#31860492,错误#100773)

  • Connector/NET 在内部使用 -1 的值来确保将没有索引的参数添加到参数列表的末尾。但是,如果传入实际值为 -1 的索引,则该集合将被解释为没有索引,并且参数不会生成超出范围的异常。(错误#31754599,错误#100522)

  • 未经验证,作为 MySQL 命令参数传入的底层 64 位枚举值默认为类型 Int32并产生溢出异常。(缺陷 #25467610,缺陷 #84701)