Devart is glad to announce release of the new version of dotConnect for MySQL, enhanced database connectivity solution built over ADO.NET architecture that offers Entity Framework and LINQ to SQL support. New dotConnect for MySQL offers you new greatly improved Entity Developer 3.50, significantly enhanced Entity Framework support, and many other improvements.

TransactionStateChanging and TransactionStateChanged events were added to the MySQLConnection class; these events allow you to perform actions when the transaction starts or finishes any operation. dotConnect for MySQL now has policy files for the Devart.Data.MySql.Entity assembly. MySqlDataReader class now has GetUInt16(), GetUInt32(), GetUInt64(), and GetSByte() methods. In LinqConnect eager loading in case the related entities collection is referenced in the select clause of the query was implemented.

Entity Framework Support Improvements

In the new version of dotConnect for MySQL we have significantly extended functional abilities of Entity Framework by maximally fulfilling requests made by our users, including those received via our new UserVoice. Our users mainly requested new functional features, more flexibility in behavior and configuration as well as better performance.

To increase performance, we provide the functionality of flexibly configured Batch Updates, give our users the possibility of configuring individual aspects of INSERT/UPDATE/DELETE operations and make it possible to disable SQL-formatting.

To make software more flexible, we enable the users to additionally configure behavior for dynamic database creation/deletion, which is quite important after the release of EF 4.1 (Code-First).

Besides, as a workaround for the commonest situations, the users can exclude the schema (database) name from generated DDL and DML SQL commands and disable identifier quoting.

To facilitate the process of development and to cease using simple INSERT triggers that set values of Identity columns, we make it possible to use database-specific functions as Default Value when inserting records into tables.

LINQ to Entities string column search functionality has been extended - now you may call full-featured database-specific LIKE function instead of using three different methods StartsWith(), Contains(), and EndsWith().

We have implemented the possibility of saving manually defined StoreGeneratedPattern of columns in the model's storage part, so that now the users of dotConnect for MySQL do not have to set StoreGeneratedPattern manually every time Update from Database Wizard is run in Visual Studio 2008/2010.

Entity Developer Improvements

Now, it is possible to add more than one template to the model, register added templates within the model and store them either in the Entity Developer resources, or in the specified folder, or together with the model itself. The so-called "shared" templates can now be easily shared between different models.

Another new feature in the area of template use and management is the possibility to exclude templates from the process of code generation by setting their "enabled" property to "false". This greatly improves the flexibility of the code generation process.

Template code can be easily edited in the improved built-in T4 editor. Our T4 editor features extensive intellisense functionality, syntax highlighting, navigation to definitions and declarations of objects and members, present in the template file or included files, multilevel template inclusion and some others.

The range of templates available in Entity Developer is further extended with the POCO template with XML mapping for LinqConnect and the POCO, Self-Tracking, DbContext, and Fluent mapping templates for Entity Framework.

Additionally, the Entity Developer application now features, alongside the FilePerClass option, the EntitiesOutput and ContextOutput functionality that allows redirecting code generation for entities and appropriate contexts to any folder or project.

Presently, Entity Developer makes it possible for developers to exclude classes from being overwritten at each generation; in multi-layered application development, this allows creating sets of sample classes that can later be modified as needed.

The use of extended properties defined directly in template code makes the process of code generation much more flexible. The developer can customize the set of properties of any element in the model by declaring extended properties both in template code and in model properties. For example, you can add the Generate property to every class and then exclude some classes from generated code by setting this property in the designer.

Starting with this version of Entity Developer, developers can select attributes from all available assemblies, set values of attribute parameters and assign attributes to classes, properties or contexts of their model. Assigned attributes and the values of their parameters will be present in generated code. For example, the System.ComponentModel.DataAnnotation attributes can be used for validation.

Lastly, Entity Developer now has runtime support for literals specified in the 'Default Value' entity field property for LinqConnect models.

If you need another feature in Entity Developer, visit our forum at UserVoice and vote for suggested features or suggest your own one.

Here is the complete list of dotConnect for MySQL 6.30.160 features:

DbTransactionBase class is added

TransactionStateChanging and TransactionStateChanged events are added to the DbConnectionBase class

The License Information Wizard is improved: it now generates licenses for projects that have Entity Framework models or refer to Devart.Data.MySql.Web, but have no direct references to Devart.Data.MySql.dll

The "Use schema name" check box is added to DataSet Wizard

The bug with Membership provider compatibility between .NET Framework 2.0 and 4.0 is fixed

The bug with launching Devart documentation via Start menu is fixed

The bug with "Bad handshake" exception when connecting to MySQL servers v 5.1.57 and 5.5.12 is fixed

LinqConnect (formerly known as LINQ to MySQL)

Implemented eager loading in case the related entities collection is referenced in the select clause of the query

The bug with incorrect operation order during SubmitChanges() calls is fixed

The bug with ArgumentExceptions thrown in background threads is fixed

The bug with using public properties when refreshing or materializing an entity is fixed