Some exciting news to share – for those interested in pre-releases, the next iteration of the Entity Framework – v6.1.0 has been released as a Beta just recently (Feb 11th, 2014). For those who are curious about the new features, check out this link or read the summary I’ve copied from that original article, below.
As per normal, you can get the runtime assemblies via NuGet, but for the Visual Studio tools support, you’ll need separate downloads available from Microsoft.com.
What’s in Beta 1?
Entity Framework 6.1 is a minor update to Entity Framework 6 and includes a number of bug fixes and new features. The new features in this release include:
- 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 new System.Data.Entity.Infrastructure.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 (allowing 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 greatly 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.
What looks interesting in the Beta?
I’ll be looking closely at the public mapping API and the Interceptors. I can theorise a couple of uses for the public mapping API, but I’ll need to do some personal evaluations to see if it is possible to do something I’ve long wanted to do with EF entities – model projection.
The interceptors will be a big boost to anyone who has had trouble diagnosing DB operations in a production environment. I’ll take a closer look at those, too.
Worth a look, I’d suggest.