Devart is glad to announce release of the new version of dotConnect for PostgreSQL, enhanced database connectivity solution built over ADO.NET architecture that offers Entity Framework and LINQ to SQL support. New dotConnect for PostgreSQL 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 PostgreSqlConnection class; these events allow you to perform actions when the transaction starts or finishes any operation. dotConnect for PostgreSQL now has policy files for the Devart.Data.PostgreSql.Entity assembly. 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 5.30.160 features:
- DbTransactionBase class is added
- TransactionStateChanging and TransactionStateChanged events are added to the DbConnectionBase class
- Policy file for the Devart.Data.PostgreSql.Entity assembly is added
- The License Information Wizard is improved: it now generates licenses for projects that have Entity Framework models or refer to Devart.Data.PostgreSql.Web, but have no direct references to Devart.Data.PostgreSql.dll
- The "Use schema name" and "Use catalog name" check boxes are added to DataSet Wizard
- The bug with handled FormatExceptions when fetching data of the 'serial' data type is fixed
- 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
- 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
- The bug with grouping a collection by a whole entity is fixed
- New Templates are added:
- LinqConnect: POCO template with XML mapping generation
- Entity Framework: POCO template, Self-Tracking template, DbContext template with fluent mapping generation
- Templates usability is improved
- Template Editor is significantly improved
- Ability to declare additional properties for model objects is added
- Ability to specify .NET attributes for model objects is added
- Implemented runtime support for literals specified in the 'Default Value' entity field property for LinqConnect models
- The "Preserve schema name in storage" option is added
- The bug with code generation for the 'Delete Rule' association property in LinqConnect models is fixed
- The bug with generation of attach/detach methods for many-to-many associations in LinqConnect models is fixed
- The bug with external mapping for LinqConnect models is fixed
- The bug with default values set via a function for string fields in LinqConnect models is fixed
- The bug with the "Access" combobox of the Association editor in LinqConnect models is fixed
- The bug with procedures that differ only by name in Database Explorer is fixed (Entity Framework models)
- Batch Updates support is added
- Adjustable SQL Formatting for DML commands is added
- Ability to configure the NULL values inserting behaviour is added
- IgnoreSchemaName workaround (mainly for Code First) is added
- DisableQuoting workaround is added
- PgSqlFunctions.Like support (including LINQ to Entities) is added
- Configurable database deletion and creation support is added
- The bug with Entity Framework configurability is fixed