Overview
Entity Framework Core is Microsoft's cross-platform, open-source rewrite of the Entity Framework data access stack. You define entity classes and a DbContext, query with LINQ (which EF Core translates to SQL), and call SaveChanges to persist tracked changes. Models can be written by hand or scaffolded from an existing database, and EF Migrations generate schema changes from model changes.
Databases are supported through providers. Microsoft ships providers for SQL Server and Azure SQL, SQLite, Azure Cosmos DB and an in-memory database; PostgreSQL (Npgsql), MySQL/MariaDB (Pomelo and Oracle's MySQL provider), Oracle, MongoDB and others come from their own maintainers, and some commercial providers are paid. Providers usually do not work across EF Core major versions.
Releases follow the .NET schedule: EF Core 10 (for .NET 10) is supported until 10 November 2028, EF Core 8 and 9 until 10 November 2026, and EF Core 11 is scheduled for November 2026. Major updates often include breaking changes, which Microsoft documents for each release.
Pricing and plans
| Plan | Price | What you get |
|---|---|---|
| EF Core | $0 | Open source; free |
What it does
- LINQ queries
- Write strongly typed queries in C#; EF Core translates them to SQL for the chosen provider.
- Change tracking
- Loaded entities are tracked and SaveChanges writes inserts, updates and deletes in a transaction.
- Migrations
- Generate, customise and apply schema migrations from model changes, or scaffold a model from a database.
- Provider model
- Plug-in providers for relational databases, Cosmos DB, MongoDB and others.
- Raw SQL
- FromSql and ExecuteSql for cases LINQ does not cover, with parameterisation.
Strengths and limitations
Strengths
- First-party Microsoft support with a clear support calendar
- Deep integration with ASP.NET Core and the .NET toolchain
- Wide provider ecosystem, including SQL Server, PostgreSQL and Cosmos DB
- Mature migrations and scaffolding
Limitations
- Major version updates often contain breaking changes
- Providers usually do not work across major versions, so third-party providers can lag behind a new release
- Complex LINQ can produce inefficient SQL that needs profiling
- Several providers for DB2, Informix and SaaS sources are paid third-party products
Who it suits
Good for
- ASP.NET Core applications
- Enterprise .NET teams on SQL Server or Azure
- Apps that want LINQ and migrations in one package
Look elsewhere if
- Hot paths where hand-tuned SQL is required (Dapper fits better)
- Non-.NET stacks
Alternatives to Entity Framework Core
| Tool | From | Free option | Stages |
|---|---|---|---|
| Eloquent ORM Active Record ORM for Laravel | — | ||
| Active Record (Rails) Active Record ORM for Ruby on Rails | — | ||
| SQLAlchemy Python SQL toolkit and ORM | — | ||
| Dapper .NET micro-ORM | — | ||
| Knex.js JavaScript SQL query builder | — | ||
| GORM Full-featured Go ORM | — |
Questions
Is Entity Framework Core free?
Yes, EF Core is open source and free; only some third-party database providers are paid.
How long is EF Core 10 supported?
Until 10 November 2028, in line with .NET 10's long-term support.
Does EF Core support PostgreSQL?
Yes, through the Npgsql.EntityFrameworkCore.PostgreSQL provider maintained by the Npgsql team.
EF Core vs Dapper?
EF Core is a full ORM with LINQ, change tracking and migrations; Dapper maps results of SQL you write, with less overhead and fewer features.
Sources read for this page