Executing a LINQ query containing an
order by
clause and a call to theContains
method using theTake
method resulted in a bad SQL query, which made reference to a no-existent alias. (Bug #17194945, Bug #69751)When using Entity Framework 5.0, some string patterns in a LINQ query caused MySQL to throw syntax errors when they were passed to the
Contains()
,StartsWith()
, orEndsWith()
methods. (Bug #16974405, Bug #69409)The LINQ query would return the error "An error of "Unknown column 'Distinct1.nCdSite' in 'where clause'" when using
Distinct().Count()
. (Bug #16950146, Bug #68513)When the IIS application pool reset the worker processes at a specific time, the MySQL session state store would crash the
w3wp.exe
process and the request resulted in a crash error message. There are no longer ASP.NET crash yellow pages or bad exceptions. Session expiration is now handled properly. (Bug #16909237, Bug #67665)When using Entity Framework 4.3.1 and Code First Migrations, databases were migrated more than once. This fix stops the problem by changing the
CreatedOn
column in the migration history table to use the 24-hour time format. (Bug #16869202, Bug #68889)Connector/NET threw a fatal error when trying to read a MySQL table that used the UTF-16 or UTF-32 character set. Mappings for UTF-16 and UTF-32 encodings have now been added. (Bug #16776818, Bug #69169)
-
An "DBUpdateException saving changes" exception was thrown while inserting data that had
Identify
columns. The data is now stored in the table.A workaround was to
set global sql_mode = "ANSI";
. (Bug #16494585) After opening a stored routine in the SQL Editor in Visual Studio and then changing its name, an error occurred with the message "Unable to load the stored procedure for editing" at the attempt to save the routine. (Bug #16390757)
-
When running a multithreaded service, you might receive the exception:
The given key was not present in the dictionary
The issue was fixed by enhancing the locking code within the
ConnectionStringBuilder
class. (Bug #16310698, Bug #68217) When using EntityFramework 4.3 and Code First, generated foreign key identifiers could be longer than 64 characters, causing
MySQLException
errors. The fix renames any too-long identifiers using the name formatFK_
, whereguid
guid
is a global unique identifier generated at runtime. (Bug #16286397, Bug #67285)Connector/NET would throw a
MySqlException
exception when an invalid collection was passed to theGetSchema
method. Now it throws anArgumentException
when an invalid collection name is passed toGetSchema
, to be compliant with the API spec ofSystem.Data.Common.DbConnection.GetSchema
. The new behavior provides better compatibility with other data access providers such as ADO.NET. (Bug #16271425, Bug #67901)-
When using Entity Frameworks: Code First in Visual Studio 2012 and using a GUID as the primary key in a class, the following error could occur:
Incorrect column specifier for column 'column_name'.
Connector/NET was applying the
AUTO_INCREMENT
attribute to the column, which requires that the column use an integer data type. (Bug #15834176, Bug #67450) Specifying the
Default Command Timeout
option in a connection string used with the MySQL Entity Framework provider had no effect. The command timeout was always 30 seconds. (Bug #14825670, Bug #67171)A
System.InvalidCastException
exception could occur when calling a stored function. A workaround was to specify theCheckParameters=false
connection option. (Bug #13864627, Bug #64633)Sometimes data was not returned when a socket connection was slow, interrupted, or delayed. The timeout is now properly reported as an error to the upper layers. (Bug #69039, Bug #16950212)
Using a nested projection causes a malformed query to be created, and spurious data to be returned. (Bug #67183, Bug #16872852)
Generated "LINQ to Entities" queries are no longer as nested. In other words, two similar queries with one nested inside the other are now flattened into a simple query. This provides better performance for large result sets. (Bug #65723, Bug #16973939)
An exception was thrown when populating
DataTable
with query fields containing aUNIQUE
index or constraintNULL
. There is no longer an exception thrown, and theDataTable.Fill
method terminates correctly (filling the data). (Bug #65065, Bug #16952323)