Microsoft recently released Entity Framework 6 Release Candidate with support for Interception, SQL logging in addition to several testability improvements which enables you to create test doubles for DbContext and DbSet.
The release also includes substantial changes in custom code first conventions and code based configuration including support for projects which targets .NET Framework 4. The product team has also made changes and updates to the core API and added intellisense documentation.
The following runtime features are included with Entity Framework 6 which are applicable to both Code First and EF Designer
- Async Query and Save
- Connection Resiliency
- Code Based Configuration
- Dependency Resolution
- Interception/SQL logging
- Testability improvements
- Enums, Spatial and Better Performance on .NET 4.0
- Creation of DbContext using an already opened DbConnection
- Default transaction isolation level is changed to READ_COMMITTED_SNAPSHOT
- DbContext.Database.UseTransaction
- DbContext.Database.BeginTransaction
- Enhancements to Enumerable.Contains in LINQ queries
- Improved view generation
- Pluggable Pluralization
- Singularization Service
- Improved Transaction Support
- Custom implementations of Equals or GetHashCode
- DbSet.AddRange
- RemoveRange
- DbChangeTracker.HasChanges
- SqlCeFunctions
According to Rowan Miller, the tooling does not include new features but most of the new runtime features can be used with models created in the EF Designer.
The following runtime features are applicable only to Code First.
- Custom Code First Conventions
- Code First Mapping Support for Insert, Update, Delete Stored Procedures
- Idempotent migrations scripts
- Configurable Migrations History Table
- Multiple Contexts per Database
- DbModelBuilder.HasDefaultSchema
- DbModelBuilder.Configurations.AddFromAssembly method
- Custom Migrations Operations
"The final release of EF6 will be made available along with the release of Visual Studio 2013," said Rowan.