This page provides a roadmap for Entity Framework. This is a planning document, not a specification of what is to come. We hope to implement most or all of the features listed here, but there are no guarantees. Plans can change. You can help change them! Please visit the Entity Framework UserVoice site to provide feedback on our plans so that we have a better picture of what you want to see in the next release.
Entity Framework 5
The EF5 release is available on NuGetand introduces the following new features:
- Enum support allows you to have enum properties in your entity classes. This new feature is available for Model, Database and Code First.
- Table-valued functions in your database can now be used with Database First.
- Spatial data types can now be exposed in your model using the DbGeography and DbGeometry types. Spatial data is supported in Model, Database and Code First.
- The performance enhancements that we recently blogged about are included in EF 5 Beta 1.
The following new features are also available in the Entity Model Designer in Visual Studio 2012:
- Multiple-diagrams per model allows you to have several diagrams that visualize subsections of your overall model.
- Batch import of stored procedures allows multiple stored procedures to be added to the model during model creation.
Entity Framework 6
EF6 will be the next major release of Entity Framework. This repository will be used to ship EF6 and future releases.
This repository currently includes the Entity Framework runtime and Entity Framework Power Tools. We are working to include the Entity Framework Designer in the future.
Here are the features that are currently being worked on and are included in nightly builds:
- Async Query and Save - Supports the task-based asynchronous patterns that were introduced in .NET 4.5. We've put together awalkthrough that demonstrates this new feature. You can also view the feature specification on our CodePlex site for more detailed information.
- Custom Code First Conventions - Allows writing custom conventions for Code First to help avoid repetitive configuration. We provide a simple API for lightweight conventions as well as some more complex building blocks to allow you to author more complicated conventions. There is a walkthough that covers both of these options and a feature specification on our CodePlex site.
- Multi-Tenant Migrations - In previous versions of EF you were limited to one Code First model per database when using Migrations, this limitation is now removed. If you want to know more about how we enabled this, check out the feature specification on CodePlex.
- Configurable Migrations History Table - Some database providers require the appropriate data types etc. to be specified for the Migrations History table to work correctly. The feature specification provides details about how to do this in EF6.
- Code-Based Configuration - Configuration has traditionally been specified in a config file, EF6 also gives you the option of performing configuration in code. We've put together anoverview with some examples and there is a feature specification with more details.
- Dependency Resolution - Supports the Service Locator pattern and we've factored out some pieces of functionality that can be replaced with custom implementations. The feature specification provides details about this pattern, and we've put together alist of services that can be injected.
- Updated Provider Model - In previous versions of EF some of the core components were a part of the .NET Framework. In EF6 we're moving all these components into our NuGet package, allowing us to develop and deliver more features in a shorter time frame. This move requires some changes to our provider model. We've created a document that details the changes required by providers to support EF6, and provided alist of providers that we are aware of with EF6 support.
- Enums, Spatial and Better Performance on .NET 4.0 - By moving the core components that used to be in the .NET Framework into the EF NuGet package we are now able to offer enum support, spatial data types and the performance improvements from EF5 on .NET 4.0.
These features are planned for the EF6 release but we have not started implementing them yet:
- Stored Procedures & Functions in Code First - Allow mapping to stored procs and database functions using the Code First APIs.
- Connection Resiliency - Allow database operations to be re-tried if the connection is lost.