MySQL Connector/Net 8.0.9-dmr has been released
Posted by: Gipson Pulla
Date: September 28, 2017 08:03AM
Date: September 28, 2017 08:03AM
Dear MySQL users, MySQL Connector/Net 8.0.9 is the sixth development release that expands cross-platform support to Linux and macOS when using Microsoft's .NET Core framework. Now, .NET developers can use the X DevAPI with .NET Core and Entity Framework Core (EF Core) 1.0 to create server applications that run on Windows, Linux and macOS. We are very excited about this change and really look forward to your feedback on it! MySQL Connector/Net 8.0.9 is also the eighth development release of MySQL Connector/Net to add support for the new X DevAPI. The X DevAPI enables application developers to write code that combines the strengths of the relational and document models using a modern, NoSQL-like syntax that does not assume previous experience writing traditional SQL. To learn more about how to write applications using the X DevAPI, see http://dev.mysql.com/doc/x-devapi-userguide/en/index.html. For more information about how the X DevAPI is implemented in Connector/Net, see http://dev.mysql.com/doc/dev/connector-net. Please note that the X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see http://dev.mysql.com/doc/refman/5.7/en/document-store.html. To download MySQL Connector/Net 8.0.9-dmr, see the "Development Releases" tab at http://dev.mysql.com/downloads/connector/net/ Changes in MySQL Connector/Net 8.0.9 (2017-09-28, Development Milestone) * Functionality Added or Changed * Bugs Fixed Functionality Added or Changed * For accuracy, the following Entity Framework 6 items were renamed: + NuGet package - MySql.Data.EntityFramework (was MySql.Data.Entity) + Namespace - MySql.Data.EntityFramework (was MySql.Data.Entity) + Assembly - MySql.Data.EntityFramework.dll (was MySql.Data.Entity.EF6.dll) (Bug #26396260) * X DevAPI: The SessionConfigManager.Update method was removed and the SessionConfigManager.Save method now always overwrites the data with the given key. For example: SessionConfigManager.Save( "mysess", "{ \"uri\": \"mysqlx://myuser@localhost/mysess\", \"appdata\": { \"biz\": \"quux\" } }" ); SessionConfigManager.Save( "mysess", "{ \"uri\": \"mysqlx://test@localhost/mysess\", \"appdata\": { \"tar\": \"zzzz\" } }" ); The mysess.uri and mysess.appdata values set by the first statement are replaced with the new values set by the second statement. (Bug #25829054, Bug #25860579) * MySQL Connector/Net now supports MySQL servers configured to use utf8mb4 as the default character set. * The following methods are available for use with EF Core in asynchronous command and connection operations: + Microsoft.EntityFrameworkCore.DbContext.AddAsync + Microsoft.EntityFrameworkCore.DbContext.AddRangeAsync + Microsoft.EntityFrameworkCore.DbContext.FindAsync + Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync + Microsoft.EntityFrameworkCore.Infrastructure.Databas eFacade.EnsureDeletedAsync + Microsoft.EntityFrameworkCore.Infrastructure.Databas eFacade.EnsureCreatedAsync + Microsoft.EntityFrameworkCore.DbContext.ToListAsync * X DevAPI: The following methods execute directly, whereas each method previously required .execute() as the final item in the method chain: + BaseSession.DropSchema + Collection.DropIndex + Schema.DropCollection + Schema.DropView In addition, the methods now succeed even if the objects to be dropped do not exist. * The AutoEnlist and IncludeSecurityAsserts connection-string options are not appropriate for use by applications that target .NET Core and now return an error when used. * EF Core: Support for explicit loading was added. Explicit loading is an object-relational mapper (O/RM) pattern introduced in EF Core 1.1.0, which enables .NET developers to explicitly load related data from the database at a later time. * The following connection-string options are not currently supported for use by applications that target .NET Core and now return an error when used: + SharedMemoryName + IntegratedSecurity + PipeName + Logging + UseUsageAdvisor + UsePerformanceMonitor + InteractiveSession + Replication * X DevAPI: To provide safe transactional document and row updates, the following new methods were added: + FindStatement.LockShared + FindStatement.LockExclusive + TableSelectStatement.LockShared + TableSelectStatement.LockExclusive The LockShared() and LockExclusive() methods can be called any number of times with either the Collection.Find() or Table.Select() method chains and in any combination. If multiple calls to the methods are made, only the final method is invoked. For additional information about the two types of locking, see Shared and Exclusive Locks http://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html#innodb-shared-exclusive-locks * X DevAPI: When creating a new session, multiple hosts can be tried until a successful connection is established. A list of hosts can be given in a connection string or as session creation options, with or without priorities. var mySession = MySQLX.GetSession( "mysqlx://dbuser:password@[" + "(address=localhost:33060, priority=90)," + "(address=192.1.10.10:33060, priority=100)," + "(address=[2001:db8:85a3:8d3:1319:8a2e:370:7348]:33060, priority=30) " + "]" ); var mySession = MySQLX.GetSession( "user=dbuser;" + "password=dbpassword;" + "server=" + "(address=192.1.10.10, priority=90)," + "(address=server.example.com, priority=100)," + "(address=localhost, priority=30);" + "port=33060;" ); * X DevAPI: The IN and NOT IN operators have been updated to expand the range of operands that can be evaluated by the Find(), Modify(), and Remove() methods for collections and the Select(), Update(), and Delete() methods for tables. This update provides support for expressions using the following syntax: compExpr ["NOT"] "IN" compExpr The previous syntax used with IN and NOT IN operators is still valid and it takes precedence over the new syntax when both are present. * X DevAPI: Several new direct-execution methods were added to the Collection class that operate at a single document level, unlike the other CRUD methods that operate on all documents that match a filter. The new methods are: ReplaceOne(), AddOrReplaceOne(), GetOne(), and RemoveOne(). * Support for connections using Unix domain socket files was extended to include MySQL servers deployed on Linux hosts. X DevAPI connection example: "server=/path/to/socket;protocol=unix;user=root;password=mypass;ssl-mode=none" Classic MySQL connection example: "server=/path/to/socket;protocol=unix;user=root;password=mypass" * Connections to the MySQL server now can be made using accounts that authenticate with the sha256_password plugin. For more information, see SHA-256 Pluggable Authentication http://dev.mysql.com/doc/refman/5.7/en/sha256-pluggable-authentication.html In addition, a new connection option was added to extend authentication support for connections made using the X Protocol with either basic or URI connection strings and as an anonymous type. The auth connection option enables the MYSQL41, PLAIN, or EXTERNAL authentication mechanism if supported by the server. For a description of the auth option, see Connector/Net Connection-String Options Reference http://dev.mysql.com/doc/connector-net/en/connector-net-connection-options.html Bugs Fixed * Assemblies within NuGet packages were not fully signed. (Bug #26739307) * EF Core: Some methods in the DbContext class were not supported for use with asynchronous operations. (Bug #26448321, Bug #84814) * X DevAPI: Priority assignment when connecting to the server in client-side failover situations was not supported in earlier versions of the connector by design. Priority-based failover is now available. (Bug #26198794) * EF Core: When attempting to commit a transaction in which the FirstOrDefaultAsync method was called, the connector returned "System.InvalidOperationException: Connection must be valid and open to commit transaction." instead of committing the transaction. (Bug #26026972, Bug #86199) * X DevAPI: Passing in a value of 0 or lower to the Limit method now produces a more relevant error message indicating that the argument is out of range. (Bug #24384660) * X DevAPI: Passing in the NULL value as a parameter to the DbDoc.SetValue method resulted in an exception. This fix ensures that NULL is accepted for this method. (Bug #23542093) Nuget packages are available at: https://www.nuget.org/packages/MySql.Data/8.0.9-dmr https://www.nuget.org/packages/MySql.Web/8.0.9-dmr https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/8.0.9-dmr https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore.Design/8.0.9-dmr Enjoy and thanks for the support! On Behalf of the MySQL/ORACLE RE Team Gipson Pulla
Edited 1 time(s). Last edit at 09/28/2017 08:05AM by Gipson Pulla.
Subject
Views
Written By
Posted
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.