虽然
MySqlDateTime.Millisecond
已经允许 0 到 999(3 位精度)之间的值,MySqlDateTime.Microsecond
但添加了一个新属性来处理DateTime
值的微秒(6 位精度)。(缺陷号 20019257)“默认表缓存期限”连接字符串属性默认值为 60 而不是 0。(缺陷 #19952133)
与 VARCHAR/CHAR 列的开头匹配的生成代码现在可以正确使用“LIKE”而不是 LINQ to Entity 运算符“StartsWith”、“Contains”和“EndsWith”的位置函数。定位函数不使用放置在 VARCHAR/CHAR 列上的索引,这会导致性能显着下降。(错误#19783747、错误#19680236、错误#19944400、错误#72058)
创建具有 SRID 值的几何列不会将该值保存到表中。(错误#19783444、错误#19137999、错误#19476721、错误#71869)
在涉及“let”关键字的情况下,或在其他已转换为 DbApplyExpression 的情况下,生成的 SQL 缺少多个子句,例如 OrderBy、GroupBy 和 Skip。(错误#19698010、错误#19783760、错误#19944549、错误#73549)
IList.Contains
对于包含使用参数“DbCastExpression、DbConstantExpression、DbParameterReferenceExpression” 的谓词的情况,LINQ to Entities 查询失败。(错误#19690370、错误#19783755、错误#19944528、错误#73643).Any()
在带有的子句中具有 可空 DATETIME 字段的 SELECT 查询.OrderBy()
将失败并发出NotImplementedException
异常。(错误#19681723、错误#19795751、错误#70722)在优化嵌套查询时,查询优化例程将返回具有无效表别名的语句。这将引发“未知列”异常。(错误#19681348、错误#19934324、错误#72004)
“功能将在需要时安装”选项已从连接器/NET 安装程序的功能列表中删除,因为它不支持按需安装,因为它与程序集存在依赖关系。(错误#19670596,错误#19681113)
流畅的 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)
Take
未正确生成 将视图与运算符一起使用的“LINQ to Entities”查询 。此问题影响了 EF“数据库优先”方案。(错误#19356006、错误#19789288、错误#72148)调用>MySqlConnection.GetSchema("PROCEDURES WITH PARAMETERS", ...)会产生关于不存在的索引的错误。这会在完成存储过程时影响 Intellisense。(漏洞 #19289402)
应用迁移时,将新列添加到现有模型作为标识和 PK 失败。生成的错误是:“表定义不正确;只能有一个自动列,并且必须将其定义为键”。(错误#19268382,错误#19286383)
-
使用 Entity Framework 4.3 Code first Identifiers for Migrations 和 Entity Framework 6 时,生成的 外键标识符可能超过 64 个字符,从而导致
MySQLException
错误。该修复使用名称格式重命名任何太长的标识符 ,其中 是在运行时生成的全局唯一标识符。(错误#19211564,错误#19483128)FK_
guid
guid
参考:这个问题是 Bug #67285 的回归。
在 Visual Studio 中,Connector/NET 不读取类型为TIME(3)的字段的时间值的毫秒部分。(漏洞 #19211409,漏洞 #18111085)
当超过连接限制时,
MySqlConnection.Open()
将使 TCP 连接保持CLOSE_WAIT
状态,但现在关闭它们。(漏洞 #18665388,漏洞 #72025)当客户端刷新与过期会话关联的网页时,如果 ASP.NET 项目正在使用 <SessionState ... regenerateExpiredSessionId="true" ...>,则会从
MySqlSessionProvider
. (错误#18657550、错误#19783515、错误#70409)实体框架将
NullReferenceException
记录插入到具有自动递增、无符号、bigint 主键的表中。(错误#18189217、错误#19211404、错误#71242)“ MaximumPoolSize ”和 “ MinimumPoolSize ”未被识别为有效的连接字符串选项。(错误#18182246,错误#19484670)
Union()
当 Connector/NET 的 SQL 生成器为 LINQ或运算符 发出代码时Concat()
,括号不会应用于各个SELECT
语句。Take()
当运算符(因此是LIMIT
SQL 代码中的一个子句)应用于最后一个语句时,这可能会导致查询的含义发生变化SELECT
。有了这个修复,括号被放在单独的 SELECT 语句周围,这样LIMIT
子句就不会应用于整个UNION
操作结果。(错误#18049691、错误#19211182、错误#19483110、错误#70828)在 Visual Studio 中使用 ASP.NET Identity 1.0 进行迁移期间,代码生成器未在
Up()
类中生成索引和外键。(错误#18049272、错误#19483069、错误#71287)Keepalive
Connector/NET 将连接字符串中选项 的值解释为以毫秒为单位。此修复使其被解释为秒数,如文档中指定的那样。(错误#17981275、错误#19211293、错误#69484)在 Entity Framework 5 中使用 Code First 方法时,检查可空列是否为空的 LINQ 查询会导致生成错误的 SQL 查询。(漏洞 #17285548,漏洞 #69922)