Connector/NET now supports SHA-256 hashing for user account passwords. After you create an account following the steps outlined in SHA-256 Pluggable Authentication, just open a Connector/NET connection passing user and password. This feature works in both SSL and non-SSL secured connections. (Bug #15935128)
-
Connector/NET now supports the MySQL 5.6 feature to store connection-specific data in the server. A Connector/NET application can supply to the server a list of key/value pairs at login time. When you specify the connection option
Connect_Attrs
, a predefined set of attribute values is sent to the server. Connector/NET automatically transmits the following attributes:_client_version
_os
_pid
_platform
_program_name
_thread
To examine these connection-specific attributes on the server, query the Performance Schema tables described in Performance Schema Connection Attribute Tables. (Bug #15935112, WL #5924)
Connector/NET now supports the MySQL 5.6 password expiration protocol. See
ALTER USER
for the syntax to expire the password for a user. When you open a connection through Connector/NET that logs in as a user with an expired password, any statement issued through the connection produces aSET PASSWORD
exception. When you create a connection in Visual Studio Server Explorer to a user with an expired password, a dialog prompts for a new password, after which the connection succeeds. (Bug #15935104, WL #6587)-
When defining an entity with a
DatabaseGeneratedOption.Identity
value with Entity Framework Code First, you can now leave this column out of the column list for anINSERT
orUPDATE
statement. This feature is especially useful for defining a column with a default value corresponding to theCURRENT_TIMESTAMP()
return value:[DatabaseGenerated(DatabaseGeneratedOption.Identity)] public DateTime DateCreated { get; set; }
(Bug #15935094)
Setting
cascadeDelete
totrue
inDbMigration.AddForeignKey()
results inON DELETE RESTRICT
foreign key constraints in generated DDL, rather thanON DELETE CASCADE
as expected. (Bug #16398432, Bug #68457)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 debugging a stored routine containing a
DECIMAL
variable, you might encounter the error:mismatched input ')' expecting COMMA
A workaround was to include a second parameter of 0 in the variable declaration:
DECLARE var_name DECIMAL(3, 0)
The fix allows the Connector/NET debugger to handle
DECIMAL
variable declarations without the optional second field. (Bug #16079735, Bug #67975) If a
DateTime
type in MySQL 5.6 was defined with milliseconds precision using Entity Framework Code First or EF Model First, the expectedDateTime(
column did not include the precision specification. (Bug #15972773)n
)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)