Microsoft Entity Framework
Microsoft Entity Framework is an object-relational mapping (ORM) framework for .NET developers enabling database access using .NET objects. EF Core is the modern, cross-platform version supporting SQL Server, PostgreSQL, MySQL, SQLite, and Cosmos DB with LINQ queries, change tracking, migrations, and code-first modeling.
APIs
Entity Framework Core
A lightweight, extensible, open source and cross-platform ORM for .NET. Supports SQL Server, PostgreSQL, MySQL, SQLite, Cosmos DB, and in-memory databases.
Entity Framework 6
The mature and stable ORM for .NET Framework with Code First, Database First, and Model First workflows.
Features
Write database queries using Language Integrated Query (LINQ) with strongly-typed C# expressions.
Automatic tracking of entity changes for efficient database updates.
Database schema versioning with code-first migrations for evolving data models.
Define database schemas using C# classes and data annotations or Fluent API.
Plugin architecture supporting SQL Server, PostgreSQL, MySQL, SQLite, Cosmos DB, and more.
Control related entity loading with lazy, eager, and explicit loading strategies.
Execute raw SQL and stored procedures alongside LINQ queries.
Apply automatic filtering to all queries for multi-tenancy and soft deletes.
Custom type conversions between .NET types and database column types.
Pre-compile LINQ queries for improved performance in hot paths.
Use Cases
Data access layer for ASP.NET Core web applications and APIs.
Database access for .NET microservices with per-service databases.
Version-controlled schema evolution with automatic migration generation.
Applications connecting to multiple database providers simultaneously.
Implement DDD patterns with aggregate roots, value objects, and repositories.
Map existing database schemas to modern .NET classes with Database First.
Solutions
Modern, cross-platform ORM for .NET 6+ applications.
Mature ORM for .NET Framework applications.
CLI and Package Manager Console tools for migrations and scaffolding.