EF History

.Entity Framework History

Web page by Kevin Harris of Homer IL

Please contact Kevin Harris of Homer IL concerning this web site

"EF 7 will run on Windows, Linux, and OSX and will not be compatible with EF 6. "

Entity Framework History

Synchronizing two different representations of data is a difficult problem. Entity Framework (EF) is an Object/Relational Mapping (ORM) product which continues to evolve to address this problem. EF has progressed from the proprietary initial release (EF 3.5), which was widely criticized as inferior to other ORMs of the time, to a stable and widely used version (EF 6) which is an open source project. At this time another open source version (EF 7) is being designed to run on multiple operating systems and bring further innovations to the .NET framework. Microsoft has indicated that both EF 6 and EF 7 will continue to be supported as separate products.

Entity Framework Releases

Entity Framework has an unusual versioning pattern.

  • EF 3.5 was released in August 2008 as part .Net 3.5 SP1 and Visual Studio 2008 (VS 2008) SP1. This was the first release of Entity Framework.

  • EF 4.0 thru EF 4.3.1 was released between April 2010 and February 2012. EF 4 was included in .NET 4 and VS 2010.

  • EF 5 was released in August 2012 and targeted .NET 4.5 and can be used in VS 2010 and VS 2012.

  • EF 6 was released in October 2013 as the first "out-of-band" version which became an open source project on CodePlex.

  • EF 7 is anticipated for release in early 2016 as an open source project on GitHub. EF 7 is an entirely new code base and will not be compatible with EF 6.

Note: Both EF 6 and EF 7 will continue to be supported going forward as incompatible versions. EF 6 will run only on Windows and EF 7 will run on Windows, Linux, and OSX.

Entity Framework Releases
Version Release Date Project Comments
EF 3.5 August 2008 Microsoft Closed First version, widely criticized.
EF 4 April 2010 thru February 2012 Microsoft Closed Major improvements
EF 5 August 2012 Microsoft Closed Several performance improvements. Various areas of added functionality.
EF 6 2012 Open Source on CodePlex Improvements in code first approach. Switch to open source and installed thru NuGet.
EF 7 Anticipated 2016 Open Source on GitHub Lightweight optimized for cloud usage.

Entity Framework 3.5

The first release of Entity Framework was part of .NET 3.5 Service Pack 1 along with Visual Studio 2008 (VS 2008). Literature of the time referred to the product as EF 1.0 or simply Entity Framework. Microsoft named the second major release of Entity Framework EF 4.0 because it was released as part of .NET 4.0. So today this first release of Entity Framework is common referred to as EF 3.5.

The first release of Entity Framework (EF 3.5) was met with wide criticism that is was inferior to other ORMs of that time. Some developers believed the technical misgivings to the first release of EF was so bad that they signed the Entity Framework Vote of No Confidence petition. This release of EF was designed to work with existing databases and EF was strongly tied to the classes it was working with. The domain classes were required to notify EF of data changes.

Entity Framework 4

The second release of Entity Framework was named EF 4 to align with the version of .NET with which it was released (.NET 4.0). EF4 contained several minor version and patch releases. Overall it was a considerable improvement over the first release. EF 4 removed the need for the domain classes to be tightly coupled to EF. Instead, EF 4 supported Plain Old CLR Objects (POCOs) which allowed developers to keep their domain classes free from EF. The designers of EF 4 found another way to keep EF aware of data changes without this troublesome tight coupling to the developer's domain objects.

In 2011 two add-ons were released to EF and distributed as NuGet packages:

  1. DbContext - a lightweight version of the original ObjectContext API. The DbContext became the default API for all future versions.

  2. Code First API - supports the generation of databases from code. The application data classes are developed first, then a database is generated based on those data classes.

Entity Framework 5

In this version the Core EF APIs were enhanced. Performance was improved in several areas, but most dramatically in the processing of LINQ queries. Some new features in EF 5 included enum support, table-valued functions, and spatial data types.

Entity Framework 6

At this point Microsoft was making a number of production open source projects, and EF 6 was make open source as well at CodePlex. All the EF APIs inside .NET were extracted to the open source project. Improvements to EF 6 were developed openly on CodePlex and distributed as NuGet packages. EF 6 contained many new features. Todate their have been 7 minor releases to EF 6, but these will continue as Microsoft supports both EF 6 and EF 7 concurrently.

Entity Framework 7

In EF 7 Microsoft is rewritting all the code as a new version of EF that will not replace EF 6. EF 7 will not be backward compatible with EF 6 and it will drop some of the features contained in EF 6. EF 6 will continue to be supported with fixes, but most of the innovation will take place in EF 7. However EF 7 will no longer have the .edmx Visual Designer, but third-party Visual Designers will be available for EF 7. EF 7 will be a lightweight version that will also support non-relational data. Coding patterns and structures will change between EF 6 and EF 7. You will not be able to use both EF 6 and EF 7 together in the same application.

.Entity Framework Version History

Entity Framework Version History

Error | ASP.NET Developer


Error message

  • Warning: Cannot modify header information - headers already sent by (output started at /srv/disk9/1218369/www/kcshadow.net/aspnet/includes/common.inc:2748) in drupal_send_headers() (line 1232 of /srv/disk9/1218369/www/kcshadow.net/aspnet/includes/bootstrap.inc).
  • PDOException: SQLSTATE[42000]: Syntax error or access violation: 1142 INSERT command denied to user '1218369_b2cf'@'' for table 'watchdog': INSERT INTO {watchdog} (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9); Array ( [:db_insert_placeholder_0] => 0 [:db_insert_placeholder_1] => cron [:db_insert_placeholder_2] => Attempting to re-run cron while it is already running. [:db_insert_placeholder_3] => a:0:{} [:db_insert_placeholder_4] => 4 [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => http://www.kcshadow.net/aspnet/?q=efhistory [:db_insert_placeholder_7] => [:db_insert_placeholder_8] => [:db_insert_placeholder_9] => 1534852003 ) in dblog_watchdog() (line 160 of /srv/disk9/1218369/www/kcshadow.net/aspnet/modules/dblog/dblog.module).
The website encountered an unexpected error. Please try again later.