MySQL 连接器/NET 发行说明  / MySQL Connector/Net 6.5 中的变化  /  MySQL Connector/NET 6.5.6 的变化(2013-03-23,全面上市)

MySQL Connector/NET 6.5.6 的变化(2013-03-23,全面上市)

添加或更改的功能

  • Connector/NET 现在支持用户帐户密码的 SHA-256 散列。按照SHA-256 可插入身份验证中概述的步骤创建帐户后 ,只需打开一个传递用户和密码的连接器/NET 连接。此功能适用于 SSL 和非 SSL 安全连接。(漏洞 #15935128)

  • Connector/NET 现在支持 MySQL 5.6 功能,可以在服务器中存储特定于连接的数据。连接器/NET 应用程序可以在登录时向服务器提供键/值对列表。当您指定连接选项 Connect_Attrs时,一组预定义的属性值将发送到服务器。Connector/NET 自动传输以下属性:

    • _client_version

    • _os

    • _pid

    • _platform

    • _program_name

    • _thread

    要检查服务器上这些特定于连接的属性,请查询性能模式连接属性表中描述的 性能模式表。(漏洞 #15935112)

  • Connector/NET 现在支持 MySQL 5.6 密码过期协议。有关ALTER USER使用户密码过期的语法,请参见。当您通过以密码过期的用户身份登录的连接器/NET 打开连接时,通过该连接发出的任何语句都会产生 SET PASSWORD异常。当您在 Visual Studio Server Explorer 中创建与密码已过期的用户的连接时,会出现一个对话框提示输入新密码,之后连接成功。(漏洞 #15935104)

  • 使用 Entity Framework Code First定义具有 DatabaseGeneratedOption.Identity值的实体时,您现在可以将此列从INSERT orUPDATE语句的列列表中删除。此功能对于定义具有与返回值对应的默认值的列特别有用CURRENT_TIMESTAMP()

    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public DateTime DateCreated { get; set; }

    (漏洞 #15935094)

修正错误

  • 设置cascadeDeletetruein DbMigration.AddForeignKey()会 在生成的DDL中产生ON DELETE RESTRICT 外键约束,而不是 像预期的那样。(错误#16398432,错误#68457)ON DELETE CASCADE

  • 在 Visual Studio 的 SQL 编辑器中打开存储例程然后更改其名称后,在尝试保存例程时出现错误消息“无法加载用于编辑的存储过程”。(漏洞 #16390757)

  • 运行多线程服务时,您可能会收到异常:

    The given key was not present in the dictionary

    通过增强类中的锁定代码解决了这个问题 ConnectionStringBuilder。(漏洞 #16310698,漏洞 #68217)

  • 使用 EntityFramework 4.3 和 Code First 时,生成的 外键标识符可能超过 64 个字符,从而导致 MySQLException错误。该修复使用名称格式重命名任何太长的标识符 ,其中 是在运行时生成的全局唯一标识符。(漏洞 #16286397,漏洞 #67285)FK_guidguid

  • MySqlException当将无效集合传递给 GetSchema方法时, Connector/NET 会抛出异常。现在它会 ArgumentException在将无效的集合名称传递给 时抛出GetSchema,以符合 的 API 规范 System.Data.Common.DbConnection.GetSchema。新行为提供了与其他数据访问提供程序(如 ADO.NET)更好的兼容性。(漏洞 #16271425,漏洞 #67901)

  • 在调试包含 DECIMAL变量的存储例程时,您可能会遇到错误:

    mismatched input ')' expecting COMMA

    解决方法是在变量声明中包含第二个参数 0:

    DECLARE var_name DECIMAL(3, 0)

    该修复程序允许连接器/NET 调试器处理 DECIMAL没有可选第二个字段的变量声明。(缺陷 #16079735,缺陷 #67975)

  • 如果DateTimeMySQL 5.6 中的类型是使用 Entity Framework Code First 或 EF Model First 以毫秒精度定义的,则预期 列不包括精度规范。(漏洞 #15972773)DateTime(n)

  • 在与 MySQL Entity Framework 提供程序一起使用的连接字符串中指定Default Command Timeout选项无效。命令超时始终为 30 秒。(漏洞 #14825670,漏洞 #67171)

  • System.InvalidCastException调用存储函数时可能会发生异常 。解决方法是指定CheckParameters=false连接选项。(错误#13864627,错误#64633)