这是 6.6.x 分支的最终版本。
虽然
MySqlDateTime.Millisecond
已经允许 0 到 999(3 位精度)之间的值,MySqlDateTime.Microsecond
但添加了一个新属性来处理DateTime
值的微秒(6 位精度)。(缺陷号 20019257)流畅的 API DbModelBuilder.HasColumnType 在 Entity Framework 6 中没有效果。(Bug #19476922、Bug #19456229、Bug #19462808)
-
在 Entity Framework 6 的“Code First”中设置主键 GUID 身份在 MySQL 服务器 5.7 中不起作用。插入具有有效 GUID 值的行会产生错误,即使它已将触发器设置为正确的值。
作为解决方法,必须重新声明列定义以接受虚拟默认值,例如“默认值”。(错误#19456452、错误#19462811、错误#19476995)
声明为“Identity GUID”的非主键没有自动生成它们的 GUID。(错误#19456415、错误#19461919、错误#19477029)
使用 MySQL 5.7 创建“模型优先”或“数据库优先”模型会将 ProviderManifestToken 设置为 5.6。(错误#19453814,错误#19475012)
-
使用 Entity Framework 4.3 Code first Identifiers for Migrations 和 Entity Framework 6 时,生成的 外键标识符可能超过 64 个字符,从而导致
MySQLException
错误。该修复使用名称格式重命名任何太长的标识符 ,其中 是在运行时生成的全局唯一标识符。(错误#19211564,错误#19483128)FK_
guid
guid
参考:这个问题是 Bug #67285 的回归。
尝试更改包含对会话变量的引用的存储过程或触发器时,发生错误并且更改未保存,除非在连接设置中设置了“Allow User Variables = true”。不再生成错误,并且使用 Alter Routine 重命名存储过程或触发器的类似问题也已修复。(漏洞#19211432)
在 Visual Studio 中,Connector/NET 不读取类型为TIME(3)的字段的时间值的毫秒部分。(漏洞 #19211409,漏洞 #18111085)
MySQL 解析器无法识别 MySQL 服务器支持的完整字符串文字语法。此修复使 Connector/NET 和 MySQL for Visual Studio 能够识别字符串文字语法,如MySQL 服务器手册中的Character String Literal Character Set and Collation中指定的那样。(错误#19211249,错误#18169145)
[
_charset_name
]'string
' [COLLATEcollation_name
]当超过连接限制时,
MySqlConnection.Open()
将使 TCP 连接保持CLOSE_WAIT
状态,但现在关闭它们。(漏洞 #18665388,漏洞 #72025)当客户端刷新与过期会话关联的网页时,如果 ASP.NET 项目正在使用 <SessionState ... regenerateExpiredSessionId="true" ...>,则会从
MySqlSessionProvider
. (错误#18657550、错误#19783515、错误#70409)实体框架将
NullReferenceException
记录插入到具有自动递增、无符号、bigint 主键的表中。(错误#18189217、错误#19211404、错误#71242)在 Visual Studio 中,存储过程调试器未
last_insert_id()
正确计算监视表达式中的函数。此修复程序还纠正了查询调试数据表的其他两个信息函数的类似问题:row_count()
和found_row()
。(漏洞#18111085)Union()
当 Connector/NET 的 SQL 生成器为 LINQ或运算符 发出代码时Concat()
,括号不会应用于各个SELECT
语句。Take()
当运算符(因此是LIMIT
SQL 代码中的一个子句)应用于最后一个语句时,这可能会导致查询的含义发生变化SELECT
。有了这个修复,括号被放在单独的 SELECT 语句周围,这样LIMIT
子句就不会应用于整个UNION
操作结果。(错误#18049691、错误#19211182、错误#19483110、错误#70828)当参数的括号前有任何空格时,MySQL 解析器无法解析
if
语句(例如,“ if (1,1, 1) ”)。此外 ,许多其他函数(如、 、、 等)if
也出现了同样的问题,此修复解决了所有这些问题。(错误#17981407,错误#19211240)row_count
ifnull
mod
repeat
Keepalive
Connector/NET 将连接字符串中选项 的值解释为以毫秒为单位。此修复使其被解释为秒数,如文档中指定的那样。(错误#17981275、错误#19211293、错误#69484)my_aspnet_Sessions
启用 MySQL 会话状态的 Web 应用程序因引用错误的表名(而不是正确的名称my_aspnet_sessions
)而 引发异常 。这是由于对 SQL 查询的大小写处理不正确MySqlSessionStateStore
。(错误#17960855、错误#19211384、错误#69652)RenameColumn
实体框架迁移中 的操作在应用时引发“ ‘字段列表’中的未知列‘否’ ”错误Update-Database
。(漏洞 #17959787,漏洞 #71102)在 Visual Studio 中,Intellisense 没有将关键字 “ describe ”和“ desc ”视为“ explain ”的同义词 。(错误#17956087,错误#19211401)
在 Visual Studio 中,Intellisense 显示来自所有数据库的视图,而不仅仅是当前数据库。(错误#17954412,错误#19211338)
在 Entity Framework 中创建模型时, Connector/NET 没有将
AUTO_INCREMENT
属性添加到 type 的主键列 。BIGINT
(错误#17924407、错误#17937401、错误#70602)MySqlDataReadeer.GetTimeSpan()
从TIME(3)
-typed 字段 读取的值的小数部分 被丢弃。(错误#17923814,错误#70377)打开或创建
.mysql
文件时,尝试调用 Intellisense 在某些情况下会导致错误。(漏洞#17890216)有时在 MySQL 文件上调用 IntelliSense 代码完成 ( Control + J ) 会发出错误。(漏洞#17890216)
Connector/NET
NullReferenceException
在尝试将实体保存到具有tinyint
或bigint
自动递增主键的表中时抛出错误。(错误#17866076,错误#70888)当一个表达式中有两个函数时,调试器无法正确调试例程。这是由于处理第二个函数的范围时出现错误,该错误已得到修复。(漏洞 #17865915)
Leave
在 Visual Studio 中,调试器在使用语句 调试存储过程时因解析器错误而失败。(漏洞#17616344)使用调试器在 Visual Studio 中调试存储的例程时,长标识符导致抛出错误“列 'pvarname' 的数据太长”。这是因为调试器的 SQL 脚本不支持与 MySQL 服务器相同长度的标识符名称。此修复使调试器与 MySQL 服务器在标识符名称支持的最大长度上匹配。(错误#17568158,错误#70159)
在 Entity Framework 5 中使用 Code First 方法时,检查可空列是否为空的 LINQ 查询会导致生成错误的 SQL 查询。(漏洞 #17285548,漏洞 #69922)