Getting started with EF Core

Entity Framework Core

Entity Framework Core

Entity Framework Core is an object-relational mapper. ORMs provide a layer between the domain model you implement in code and the database. EF Core is a data access API that allows you to interact with the database using .NET POCOs (Plain Old CLR Objects) and strongly-typed LINQ.

This allows you to spend less time translating requests to and from the database and writing SQL, giving you more time to focus on important business logic.

EF Core supports many database engines, see Database Providers for details.

With EF Core, you can:

  • Load data as C# objects (entities).

  • Add, modify, and delete data by calling methods on those entities.

  • Map multiple database tables to a single C# entity.

  • Handle concurrency issues that arise when multiple users simultaneously attempt to update the same record.

  • Use strongly typed Language Integrated Query (System.Linq) syntax to query the database.

  • Access multiple databases including SQL Server, SQLite, Azure Cosmos DB, PostgreSQL, MySQL, and more.

  • Build your domain model from an existing database.

  • Manage your database schema based on your domain model.

  • Commit changes to complex, deep and/or wide object graphs of related entities with a single method call.

EF Core version history

Entity Framework Core releases and support are aligned with .NET releases and support

Guidance on updating to new releases

  • Supported releases are patched for security and other critical bugs. Always use the latest patch of a given release. For example, for EF Core 2.1, use 2.1.x for the highest 'x' available.

  • Major version updates (for example, from EF Core 2 to EF Core 3) often have breaking changes. Thorough testing is advised when updating across major versions. Use the breaking changes links above for guidance on dealing with breaking changes.

  • Minor version updates do not typically contain breaking changes. However, thorough testing is still advised since new features can introduce regressions.

Last updated