Today we are making Entity Framework 7 Beta 8 available. EF7 will be the next major release of Entity Framework and is currently in pre-release.
EF7 may not be for you… yet
EF7 introduces some significant changes and improvements over EF6.x and therefore the pre-release phase of EF7 is much longer than other recent releases. If you are writing a production application then you should continue to use EF6.x.
Because of the fundamental changes in EF7 we do not recommend attempting to port an EF6.x application to EF7 at this stage. We will provide guidance on when this is recommended and how to do it closer to final release. EF6.x will continue to be a supported release for some time.
Getting started with Beta 8
We have made a modest start on documentation for EF7, you can view the current documentation at http://ef.readthedocs.org.
You can use Beta 8 in the following types of applications.
- ASP.NET 5 applications that target either full .NET or the new .NET Core. EF7 is included in new ASP.NET 5 applications that are created using the “Web Site” project template.
- Full .NET applications (Console, WPF, WinForms, and ASP.NET 4) that target .NET 4.5 or later. We only recommend this for trying out EF7 in sample applications.
- Mac and Linux applications targeting Mono 4.2 or later.
- Universal Windows Platform (UWP) is supported for local development but it can not be used in an application that is deployed to the app store. This is because EF7 is not yet compatible with .NET Native, which is a hard requirement for applications deployed to the app store. You can track our work to support .NET Native on our GitHub project.
The following database providers are available on NuGet.org and support Beta 8. See our providers page for more information and links to getting started.
What’s implemented in Beta 8
Beta 8 has mostly been about improving the features already implemented in previous betas to make them more usable and stable.
- Basic modeling including built-in conventions, table/column mapping, and relationships
- Fluent API (a.k.a ModelBuilder/OnConfiguring API) for configuring your model
- Data Annotations for configuring your model
- Change tracking
- LINQ queries
- Table based Insert/Update/Delete (including batching)
- Migrations and database creation/deletion
- Transactions (including automatic transactions during SaveChanges and explicit transaction APIs)
- Identity and Sequence patterns for database generated key values
- Raw SQL queries (via DbSet.FromSql)
- Alternate keys including the ability to use them as keys in a relationship
- Reverse engineering a model from an existing database
What are we working on now?
The following features are currently being implemented
- Cascade delete support
- Table-Per-Hierarchy inheritance pattern
- .NET Native support
Aside from the in-flight features listed above, our efforts from now until our initial release will be on cross-cutting quality concerns.
- Bug fixing
- Performance tuning
- API reviews
What about EF6.x?
Given that we have said EF6.x will continue to be a supported release, and that we will continue with bug fixes and small improvements to the code base, you may be asking why there hasn’t been much activity on the EF6.x CodePlex project for the last 6 months.
For the lead up to initial release of EF7 we are having our team focus almost solely on the EF7 project, but once we get EF7 stabilized and ready for release we will be transitioning back to dedicating some time to work on EF6.x. Our initial focus will be to get a pre-release of EF6.2 available. This will start with processing the outstanding pull requests and fixing the bugs we have already allocated to the EF6.2 release. We anticipate having the first preview of EF6.2 available shortly after EF7 reaches RTM.