MySQL 连接器/NET 发行说明  / MySQL Connector/Net 6.6 中的变化  /  MySQL Connector/NET 6.6.0 的变化(2012-07-17,Alpha)

MySQL Connector/NET 6.6.0 的变化(2012-07-17,Alpha)

Connector/NET 6.6 的第一个 alpha 版本。Connector/Net 6.6 的主要特点:

  • Microsoft Visual Studio 中的存储过程调试。

  • 实体框架 4.3 代码优先支持。

  • 可插入身份验证(在此 alpha 中不可用)。

实体框架代码优先支持

  • 为了支持 Entity Framework 4.3.1,Connector/NET 现在可以在针对模型进行开发时使用 Code First 方法,并跟踪实体模型和数据库中的更改。这个新的 Entity Framework 4.3.1 功能专注于允许您的数据库随着您的 Code First 模型更改而更新。

存储过程调试

  • Connector/NET 与 Visual Studio 的集成现在包括存储过程调试。它以非常直观的方式工作,只需从服务器资源管理器中单击“调试例程”。此初步 alpha 版本中的限制包括:

    • 只能调试存储过程。目前还不能调试函数和触发器。

    • 调试器窗口中当前未启用 Intellisense。

    • 部分 MySQL 函数目前无法调试(get_lock, release_lock, begin, commit, rollback, set transaction级)。

    • 目前仅支持 5.1 语法。

    • 给定服务器上只能有一个调试会话处于活动状态。

    • 调试器会自动检测您的过程。原始程序可能无法正确还原。

    • 不支持评估和更改会话变量。支持过程中的局部变量。

    • 不支持条件断点。

    • 调试具有参数的例程时,调试器将提示输入这些值。它将从中创建会话变量,因此请注意不要使用您自己的同名会话变量。

    • 在服务器资源管理器中创建新连接时,请选中保存密码复选框。

修正错误

  • 将 Entity Framework 与 Connector/NET 一起使用时,在 的函数中 OnDelete未考虑关联属性,从而导致出现错误消息 。函数生成的 SQL 缺少and 子句。这些子句由 DDL 生成向导正确填写。(缺陷 #14008752,缺陷 #64779)CreateDatabaseScriptObjectContextSystem.Data.UpdateException was unhandledCreateDatabaseScriptON DELETEON UPDATE

  • 使用 Code First 实体框架调用应用程序中的存储过程或函数可能会导致错误:

    Unhandled Exception: MySql.Data.MySqlClient.MySqlException: You have an error
    in your SQL syntax; ...

    代码更改允许使用如下语法调用存储过程,而无需使用 CALL语句,也无需使用 CommandType.StoredProcedure.

    int count = myContext.Database.SqlQuery<int>("GetCount").First();

    (缺陷 #14008699,缺陷 #64999)

  • 使用 Entity Framework Code First 方法时,生成的代码可能不正确:

    • 缺少数据类型的长度说明符,例如 VARBINARY代替 . VARBINARY(n)

    • ALTER TABLE当在主类中指定私有成员时,引用不存在的表的语句。

    (漏洞 #13900091,漏洞 #64216)