Since the release of EF6 our team has been working on the EF6.1 release. This is our next release that includes new features.
What’s in EF6.1
EF6.1 adds the following new features:
- Tooling consolidation provides a consistent way to create a new EF model. This feature extends the ADO.NET Entity Data Model wizard to support creating Code First models, including reverse engineering from an existing database. These features were previously available in Beta quality in the EF Power Tools.
- Handling of transaction commit failures provides the CommitFailureHandler which makes use of the newly introduced ability to intercept transaction operations. The CommitFailureHandler allows automatic recovery from connection failures whilst committing a transaction.
- IndexAttribute allows indexes to be specified by placing an [Index] attribute on a property (or properties) in your Code First model. Code First will then create a corresponding index in the database.
- The public mapping API provides access to the information EF has on how properties and types are mapped to columns and tables in the database. In past releases this API was internal.
- Ability to configure interceptors via the App/Web.config file allows interceptors to be added without recompiling the application.
- System.Data.Entity.Infrastructure.Interception.DatabaseLogger is a new interceptor that makes it easy to log all database operations to a file. In combination with the previous feature, this allows you to easily switch on logging of database operations for a deployed application, without the need to recompile. Migrations model change detection has been improved so that scaffolded migrations are more accurate; performance of the change detection process has also been enhanced.
- Performance improvements including reduced database operations during initialization, optimizations for null equality comparison in LINQ queries, faster view generation (model creation) in more scenarios, and more efficient materialization of tracked entities with multiple associations.
- Support for .ToString, String.Concat and enum HasFlags in LINQ Queries.
- System.Data.Entity.Infrastructure.Interception.IDbTransactionInterceptor is a new interceptor that allows components to receive notifications when Entity Framework initiates operations on a transaction.
Where do I get EF6.1?
The runtime is available on NuGet. If you are using Code First then there is no need to install the tooling. Follow the instructions on our Get It page for installing the latest version of Entity Framework runtime.
The tooling for Visual Studio 2012 and Visual Studio 2013 is available on the Microsoft Download Center. You only need to install the tooling if you want to use Model First or Database First.
What’s new since EF6.1 Beta 1?
Since the Beta 1 of EF6.1 we’ve just been fixing bugs and tidying up the new features. There are no new features in the RTM since Beta 1.
Thank you to our contributors
We’d like to say thank you to folks from the community who contributed features, bug fixes, and other changes to the 6.1 release - RogerAlsing, ErikEJ, and mikecole.
In particular, we’d like to call out the following contributions:
- Support for String.Concat and .ToString in LINQ queries (RogerAlsing)
- Support for enum HasFlags method in LINQ queries (RogerAlsing)
- Entity SQL canonical function support for SQL Server Compact (ErikEJ)
- Fix for a bug that was affecting EF running under Mono (ErikEJ)