MySQL Connector/NET Release Notes
Continued improvements and fixes to the 6.6 feature set. The support for pluggable authentication, with the ability to write you own authentication plugin, is now ready for use.
You can now write a custom authentication plugin, taking advantage of the pluggable authentication feature available in MySQL 5.5.16 and higher. See Writing a Custom Authentication Plugin for details. (WL #6357)
Under some circumstances, setting
CacheServerProperties=true
in the connection
string could cause a Packet too large
error.
With connection pooling enabled and
CacheServerProperties=true
, the first
connection worked as expected, but the second, third, and so on
connections failed if the query exceeded 1024 bytes.
(Bug #14593547, Bug #66578)
Connector/NET did not support creating an entity with a key of type
string. During database creation, a
MySqlException
was thrown saying
BLOB/TEXT column 'Name' used in key specification
without a key length
. The DDL produced by the provider
specified a MEDIUMTEXT
column for
the primary key without specifying a length for the key. This
fix is particularly important when working with Entity Framework
versions 4.3 and later, since the
__MigrationsHitory
table (which replaces the
EdmMetadata
table) uses a string property as
its key.
(Bug #14540202, Bug #65289, Bug #64288)
The ExecuteNonQuery()
could return an error
Parameter '?' must be defined
, when
attempting to execute a statement such as:
insert into table_name (Field1, Field1) VALUES(?,?)
That is, when referencing the same field twice with two
different ?
placeholders.
(Bug #14499549, Bug #66060)
When using a MySQL database set up as UTF32
as an ASP.net membership database, web applications could give a
“key too long” error, and the Website
Administration Tool would not connect to providers. The cause
was that the column
my_aspnet_sessions.SessionId
, when converted
from Latin1
character set to
UTF32
with 4 bytes per character, exceeded
the length limit for a primary
key:
Specified key was too long; max key length is 767 bytes
(Bug #14495292, Bug #65144)
The MySQL Connector/NET EntityFramework provider would throw
NullReferenceException
when trying to insert
a new record with an empty VALUES
clause.
Such an INSERT
should work when the only
required (NOT NULL
) column in the table is a
primary key auto-increment column.
(Bug #14479715, Bug #66066)
Using the Entity Data Model Designer decimal
type and CreateDatabase
function, the values
were stored with 0 digits at the right of the decimal point.
With this fix, the default is 2 digits to the right of the
decimal point, and any precision specified through the Entity
Data Model Designer is applied correctly.
(Bug #14474342, Bug #65127)
Customizing precision by calling the
HasPrecision()
method within the
OnModelCreating()
method in a Code First
project would always produce precision settings (10,2) rather
than the specified precision.
(Bug #14469048, Bug #65001)
When building commands through the
MySql.Data.MySqlClient.MySqlCommand()
class,
memory could be leaked because some
IO.MemoryStream
instances were not being
freed efficiently. The memory leak could be an issue in
SQL-heavy applications, for example a logging application
processing large numbers of INSERT
statements.
(Bug #14468204, Bug #65696)
When using the ASP.net web security functionality with a MySQL
database, using features that access the
my_aspnet_usersinroles
table caused an
exception:
MySql.Data.MySqlClient.MySqlException: Table 'testdb.my_aspnet_usersinrole' doesn't exist.
For example, this error could occur when trying to remove the
user from a role or find users in a role. The fix corrects the
spelling of the table name to
my_aspnet_usersinroles
.
(Bug #14405338, Bug #65805)
Although the member variable
MySqlCommand.LastInsertedId
was a 64-bit
long
, its value was effectively capped at the
maximum value of Int32
(2,147,483,647). If a
primary key exceeded this value, the value of
LastInsertedId
was wrong. This mismatch could
be an issue for tables with large numbers of rows.
(Bug #14171960, Bug #65452)
When using the Entity Framework Code First approach, the
generated code could be use the
MEDIUMTEXT
data type in contexts
where other types such as VARCHAR
were more appropriate, leading to errors such as:
error 0064: Facet 'MaxLength' must not be specified for type 'mediumtext'.
(Bug #13582335, Bug #63920)