Entity Framework 6
Entity Framework 6 (EF6) is an object-relational mapper that enables .NET Framework, .NET Core, and modern .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write.
Status and Support
The latest version of EF6 is still supported by Microsoft--see Entity Framework Support Policies for details. However, EF6 is no longer being actively developed. This means that:
- Security issues will be fixed, as for any supported product.
- High-impact bugs, typically those impacting a very large number of users, may be fixed.
- Other bugs will not be fixed.
- New features will not be implemented
This plan focuses on stability of the codebase and compatibility of new versions above all else, excepting security. In general, the EF6 codebase is reliable and has been stable for several years with few significant bugs. However, due to the complexity and number of usage scenarios, and also the sheer number of applications that use EF6, any change has the potential to regress existing behaviors. This is why we will be making only security fixes. Also, we will not be accepting pull requests made by the community, again to ensure stability of the codebase.
Entity Framework Core
Entity Framework Core (EF Core) is a lightweight and extensible version of Entity Framework and continues to be actively developed on the EFCore GitHUb repo. EF Core is developed exclusively for modern .NET and does not run on .NET Framework. EF Core includes many improvements and new features over EF6. EF Core has a different architecture to EF6 and takes a very different approach to its internals--for example, EF Core does not support a visual designer or EDMX files. However, most EF6 projects can be ported to EF Core with some amount of work--see Port from EF6 to EF Core for a guide.
The EF6 code is published under the Apache License 2.0. This means it is permissible to fork the code and build custom versions of EF6. Making changes in a fork is one way to work around any issues or add new features without impacting the stability of the main branch and releases. Indeed, there are commercial third-party forks of EF6 available for a fee that add new features to EF6. (Microsoft does not endorse or provide support for any forked versions of EF6.)
Note that a fork is not needed to use EF6 on .NET Core and modern .NET platforms; the existing EF6 packages already support this.
See the EF6 docs for installation, documentation, tutorials, samples, etc. This documentation is no longer being updated, but still contains useful and usable content.
The EF team is focusing efforts on EF Core, and hence team members are unlikely to respond to issues filed on this repo. We recommend asking questions on Stack Overflow.
You may instead choose to contact a Microsoft Support professional for support. Please note that this may incur a fee.
EF6 Tools for Visual Studio
The code for the EF6 Tools for VS (including the visual designer) can be found in the EF6Tools repo.
The EF6 PowerTools is a community-driven project with its own github repo.