MySQL Connector/NET Release Notes
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 a
SET 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 an INSERT
or UPDATE
statement. This feature
is especially useful for defining a column with a default value
corresponding to the CURRENT_TIMESTAMP()
return value:
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] public DateTime DateCreated { get; set; }
(Bug #15935094)
The Geometry
type is now supported, with
MySQL Server 5.1 and above.
New geometry columns were not compatible with the
DbGeometry
class.
(Bug #16446399)
Setting cascadeDelete
to
true
in
DbMigration.AddForeignKey()
results in
ON DELETE RESTRICT
foreign key constraints
in generated DDL, rather than
ON DELETE CASCADE
as expected.
(Bug #16398432, Bug #68457)
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 format
FK_
, where
guid
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 the
GetSchema
method. Now it throws an
ArgumentException
when an invalid collection
name is passed to GetSchema
, to be compliant
with the API spec of
System.Data.Common.DbConnection.GetSchema
.
The new behavior provides better compatibility with other data
access providers such as ADO.NET.
(Bug #16271425, Bug #67901)
If a DateTime
type in MySQL 5.6
was defined with milliseconds precision using Entity Framework
Code First or EF Model First, the expected
DateTime(
column
did not include the precision specification.
(Bug #15972773)n
)
Calling the method FirstOrDefault
“LINQ
to Entities” queries caused a
System.Data.EntityCommandCompilationException
exception.
(Bug #15856964, Bug #67377)
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)
Connection attempts using IPV6 addresses in Connector/NET would fail. (Bug #14835718, Bug #67253)
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)
Visual Studio 2012 projects could sometimes give the following error dialog:
Failed to merge object(s). Keyword not supported. Parameter name: AttachDbFilename.
This issue affected mostly VisualStudio 2012 projects, either migrated from VisualStudio 2010 or including web sites created with VS2010, connecting to a MySQL 5.5 server. (Bug #14733472, Bug #66880)
A System.InvalidCastException
exception could
occur when calling a stored function. A workaround was to
specify the CheckParameters=false
connection
option.
(Bug #13864627, Bug #64633)
Some keywords would not work as IDs without quoting in the parser.
The error message was improved for when attempting to authenticate with an old password.