MySQL Connector/NET Release Notes

2.11 Changes in MySQL Connector/NET 8.0.12 (2018-07-27, General Availability)

Known Limitation of This Release

To create a model in Entity Framework (EF) Core v2.0 with scaffolding or migration in this release, use the following alternative procedure:

  1. Downgrade to EF Core 1.0 or 1.1 in your project, install the MySql.Data.EntityFrameworkCore.Design NuGet package, and then create your model using the scaffolding or migration command.

  2. With the model created, revert back to EF Core 2.0 in your project, update the MySql.Data.EntityFrameworkCore NuGet package, and then remove the package MySql.Data.EntityFrameworkCore.Design from your project.

We are sorry for this temporary inconvenience.

Functionality Added or Changed

  • Optimistic locking for database-generated fields was improved with the inclusion of the [ConcurrencyCheck, DatabaseGenerated(DatabaseGeneratedOption.Computed)] attribute. Thanks to Tony Ohagan for the patch. (Bug #28095165, Bug #91064)

  • Members of several classes in the MySqlX namespace were added, modified, or removed.

    MySqlX.XDevAPI.Collection and MySqlX.XDevAPI.Collection<T> classes:

    • Remove(Object) method was marked Obsolete.

    • Remove(DbDoc) method was marked Obsolete.

    • CreateIndex() method was modified to be a direct-execute method (no longer requires .Execute() to execute).

    MySqlX.XDevAPI.Common.Result class:

    • RecordsAffected property (now obsolete) was replaced with AffectedItemsCount.

    • WarningCount property (now obsolete) was replaced with WarningsCount.

    MySqlX.XDevAPI.CRUD.FindStatement class:

    • GroupBy() method was added.

    • Having() method was added.

    • Limit(Int64, Int64) method was marked Obsolete.

    • Offset() method was added.

    • Sort() method was added.

    • OrderBy() method was removed.

    MySqlX.XDevAPI.CRUD.ModifyStatement class:

    • ArrayInsert method was added.

    • ArrayAppend method was added.

    • Unset() method was modified to accept an array of document paths.

    MySqlX.XDevAPI.CRUD.RemoveStatement class:

    • Sort() method was added.

    • OrderBy() method was removed.

    MySqlX.XDevAPI.Relational.RowResult class:

    • ColumnCount property was added.

    • ColumnNames property was added.

    MySqlX.XDevAPI.Relational.SqlResult class:

    • AutoIncrementValue property was marked Obsolete.

    MySqlX.XDevAPI.Relational.TableSelectStatement class:

    • Limit(Int64, Int64) method was marked Obsolete.

    • Offset() method was added.

    MySqlX.XDevAPI.Session class:

    • Commit() method was changed to be a direct-execute method and now it returns void.

    • Rollback() method was changed to be a direct-execute method and now it returns void.

    • Uri property was added.

    • DefaultSchema property was added.

    (Bug #27732098, Bug #27732175, Bug #27732235)

  • The MySqlX.XDevAPI.MySqlXConnectionStringBuilder class was added to provide connection-string options that apply exclusively to X Protocol connections. In addition, the Auth, SslCa, and SslCrl properties in the MySql.Data.MySqlClient.MySqlConnectionStringBuilder class were marked Obsolete.

Bugs Fixed

  • Document Store: Decimal numbers passed to the DbDoc class were not parsed properly when the values included a decimal separator other than a period (.) character. (Bug #28112229)

  • Document Store: The list of members shown with IntelliSense did not match the members provided in the reference documentation. (Bug #27918879, Bug #90615)

  • The Entity Framework Core implementation did not render accented characters correctly on bases with different UTF-8 encoding. Thanks to Kleber kleberksms for the patch. (Bug #27818822, Bug #90316)

  • The TreatTinyAsBoolean connection option was ignored when the MySqlCommand.Prepare() method was called. (Bug #27113566, Bug #88472)

  • All columns of type TINYINT(1) stopped returning the expected Boolean value after the connector encountered a NULL value in any column of this type. Thanks to David Warner for the patch. (Bug #22101727, Bug #78917)