MySQL Connector/NET Release Notes  /  Changes in MySQL Connector/Net 6.8  /  Changes in MySQL Connector/NET 6.8.4 (2014-11-11, General Availability)

Changes in MySQL Connector/NET 6.8.4 (2014-11-11, General Availability)

Bugs Fixed

  • While MySqlDateTime.Millisecond already allowed a value between 0 and 999 (3 digit precision), a new MySqlDateTime.Microsecond property was added to handle microseconds (6 digit precision) on DateTime values. (Bug #20019257)

  • The "default table cache age" connection string property default is now 60 instead of 0. (Bug #19952133)

  • Generated code that matched against the start of a VARCHAR/CHAR column now correctly uses "LIKE" instead of location functions for the LINQ to Entity operators "StartsWith", "Contains", and "EndsWith". Locate functions do not make use of indexes placed on the VARCHAR/CHAR columns, which caused significant performance degradation. (Bug #19783747, Bug #19680236, Bug #19944400, Bug #72058)

  • Creating a Geometry Column with an SRID value would not save the value to the table. (Bug #19783444, Bug #19137999, Bug #19476721, Bug #71869)

  • Generated SQL was missing several clauses, such as OrderBy, GroupBy, and Skip), in cases that involved the "let" keyword, or in other scenarios that were translated into a DbApplyExpression. (Bug #19698010, Bug #19783760, Bug #19944549, Bug #73549)

  • LINQ to Entities queries failed for the cases that contained a predicate using IList.Contains with an argument of "DbCastExpression, DbConstantExpression, DbParameterReferenceExpression". (Bug #19690370, Bug #19783755, Bug #19944528, Bug #73643)

  • A SELECT query that had a nullable DATETIME field in a child .Any() clause with an .OrderBy() would fail and emit a NotImplementedException exception. (Bug #19681723, Bug #19795751, Bug #70722)

  • The query optimization routine would return statements with invalid table aliases when nested queries were being optimized. This would throw an "Unknown column" exception. (Bug #19681348, Bug #19934324, Bug #72004)

  • The "Feature will be installed when required" option was removed from the features list in the Connector/NET installer due to it not supporting on-demand installations because of dependencies with the assemblies. (Bug #19670596, Bug #19681113)

  • The fluent API DbModelBuilder.HasColumnType had no effect in Entity Framework 6. (Bug #19476922, Bug #19456229, Bug #19462808)

  • Setting a Primary Key GUID identity in "Code First" in Entity Framework 6 did not function with MySQL server 5.7. Inserting a row with a valid value for the GUID generated an error, even when it had a trigger set to the correct value.

    As a workaround, it was necessary to redeclare the column definition to accept a dummy default, such as "default ''". (Bug #19456452, Bug #19462811, Bug #19476995)

  • Non Primary Keys declared as "Identity GUID" did not have their GUID's automatically generated. (Bug #19456415, Bug #19461919, Bug #19477029)

  • Creating a "Model First" or "Database First" model using MySQL 5.7 would set ProviderManifestToken to 5.6. (Bug #19453814, Bug #19475012)

  • "LINQ to Entities" queries that used Views with the Take operator were not correctly generated. This problem affected EF "Database First" scenarios. (Bug #19356006, Bug #19789288, Bug #72148)

  • Calling >MySqlConnection.GetSchema("PROCEDURES WITH PARAMETERS", ...) would generate an error about a nonexistent index. This affected Intellisense when completing stored procedures. (Bug #19289402)

  • Adding a new column to an existing model as identity and PK failed when applying the migration. The generated error was: "Incorrect table definition; there can be only one auto column and it must be defined as a key". (Bug #19268382, Bug #19286383)

  • When using Entity Framework 4.3 Code first Identifiers for Migrations and Entity Framework 6, generated foreign key identifiers could be longer than 64 characters, causing MySQLException errors. The fix renames any too-long identifiers using the name format FK_guid, where guid is a global unique identifier generated at runtime. (Bug #19211564, Bug #19483128)

    References: This issue is a regression of: Bug #67285.

  • In Visual Studio, Connector/NET did not read the millisecond portion of a time value for a field of type TIME(3). (Bug #19211409, Bug #18111085)

  • When the connection limit was exceeded, MySqlConnection.Open() would leave the TCP connections in a CLOSE_WAIT state, but now closes them. (Bug #18665388, Bug #72025)

  • When a client refreshed a web page associated with an expired session and if the ASP.NET project was using <SessionState ... regenerateExpiredSessionId="true" ...>, a "duplicate entry" exception was generated from the MySqlSessionProvider. (Bug #18657550, Bug #19783515, Bug #70409)

  • Entity Framework threw a NullReferenceException on insertion of a record into tables that had an auto-increment, unsigned, bigint primary key. (Bug #18189217, Bug #19211404, Bug #71242)

  • MaximumPoolSize and MinimumPoolSize were not recognized as valid connection string options. (Bug #18182246, Bug #19484670)

  • When Connector/NET's SQL generator emitted code for the LINQ Union() or Concat() operator, parentheses were not applied around the individual SELECT statements. That could cause a change of meaning for the query when a Take() operator (thus a LIMIT clause in the SQL code) was applied to the last SELECT statement. With this fix, parentheses were put around individual SELECT statements, so that the LIMIT clause will not be applied to the entire result of the UNION operation. (Bug #18049691, Bug #19211182, Bug #19483110, Bug #70828)

  • During migrations with ASP.NET Identity 1.0 in Visual Studio, the code generator did not generate the indexes and foreign keys in the Up() class. (Bug #18049272, Bug #19483069, Bug #71287)

  • The value for the Keepalive option in the connection string was interpreted by Connector/NET to be in milliseconds. This fix makes it to be interpreted as number of seconds, as specified in the documentation. (Bug #17981275, Bug #19211293, Bug #69484)

  • When using the Code First approach in Entity Framework 5, a LINQ query that checked whether a nullable column was null resulted in a faulty SQL query being generated. (Bug #17285548, Bug #69922)