versiones-entity-framework

History and Versions of Entity Framework

  • 4 min

Entity Framework has evolved a lot since its launch in 2008, so let’s briefly look at its history.

Each version has introduced improvements, especially in terms of optimization, performance, and database compatibility.

To make matters more “confusing”, Entity Framework also has two main versions: EF6 and EF Core.

  • Entity Framework 6: This is the classic version of Entity Framework, designed for .NET Framework.
  • Entity Framework Core: This is the modern and lightweight version of Entity Framework, designed for .NET 5+ (or higher).

If you have ever used Entity Framework (without Core), they have nothing in common.

They share the name and have similarities in their way of working, but EF Core is much more modern and faster.

Comparison EF and EF Core

Let’s start by looking at the comparison between EF and EF Core.

FeatureEntity FrameworkEntity Framework Core
Platform Compatibility🟠Windows only🟢Cross-platform
.NET.NET Framework.NET 5+
Performance🔴Less optimized🟢Much better
Migrations🟠Yes, but less flexible🟢Yes
Supported Databases🟠SQL Server🟢Multiple databases

Entity Framework is the old version. Version 6 is the last version (released in 2013) and has remained the main option for .NET Framework applications.

EF6 is only compatible with .NET Framework and does not work on .NET Core or .NET 5/6/7+.

It is a mature and stable product. EF6 has been extensively tested and used in enterprise projects.

Long-term support: Although EF6 no longer receives new features, it still receives security updates and bug fixes.

Entity Framework Core is the modern version. It was released in 2016 alongside .NET Core and is the recommended option for modern applications.

A complete rewrite of Entity Framework, designed to be lighter, more modular, and compatible with new versions of .NET.

EF Core is compatible with .NET Core, .NET 5+ and .NET Framework (although with some limitations in the latter).

  • Cross-platform compatibility: EF Core works on Windows, Linux, and macOS.
  • Multi-database support, even for non-relational databases
  • EF Core is designed to be more lightweight and modular, allowing you to include only the necessary features.
  • New features: EF Core introduces modern features like Global Query Filters, Temporal Tables,
  • Improved support for migrations

In this course we will focus on .NET Entity Framework Core (even when it doesn’t explicitly say Core)