EF7 Beta 6 Available

Today we are making Entity Framework 7 Beta 6 available. EF7 will be the next major release of Entity Framework and it is currently in pre-release.

Still very much a preview

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 decide to try out EF7 then please bear in mind that this preview is designed to give you an idea of what the experience will be like and there are still a number of limitations and missing features that will be addressed before RTM.

Docs

We have made a modest start on documentation for EF7, you can view the current documentation at https://ef.readthedocs.org. Obviously the URL will be replaced with something ‘pretty’ before we reach stable release.

Beta 6 Platforms

You can use EF7 Beta 6 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. If you are writing a production application then you should continue to use EF6.x. We do not recommend attempting to upgrade an EF6.x application to EF7 at this stage as there are still key features yet to be implemented on EF7 (such as inheritance support which is currently being implemented).
  • Mac and Linux applications targeting Mono 4.0.0 or later.
  • Universal Windows Platform (UWP) will be supported by Beta 6 when the final release of Windows 10 Developer Tools is made available. It will not work with the developer tools previews that were released prior to the RTM due to changes in the NuGet package layout.

Beta 6 Databases

The following database providers are available on NuGet.org and support Beta 6. See our providers page for more information and links to getting started.

What’s implemented in Beta 6?

The following features have been implemented since Beta 5.

  • Data annotations (excluding the relationship annotations which we are working on at the moment)
  • Customization of reverse engineer via templates
  • Raw SQL commands (via Database.ExecuteSqlCommand)

The following features were implemented in previous pre-releases and continue to be available in Beta 5 (most of them with improvements).

  • Basic modeling including built-in conventions, table/column mapping, and relationships
  • 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)
  • An early preview of reverse engineering a model from a database
  • Logging
  • Alternate keys including the ability to use them as keys in a relationship

What are we working on now?

Most of our effort from now until our initial release will be on cross-cutting quality concerns.

  • Bug fixing
  • Performance tuning
  • API reviews
  • Documentation
  • etc.

There are a handful of features that we are implementing before our initial RTM.

  • TPH Inheritance
  • Cascade delete
  • Deployment of database changes via migrations