Entity Framework Core Interview Question #3
What is DbContext in EF Core?
EF Core Fundamentals & DbContext Junior Beginner
Quick Interview Answer
DbContext is the central EF Core class that represents a session with the database. It exposes entity sets, tracks entity changes, translates LINQ queries, coordinates database operations, and saves changes.
Detailed Explanation
DbContext is the central EF Core class that represents a session with the database. It exposes entity sets, tracks entity changes, translates LINQ queries, coordinates database operations, and saves changes.
A DbContext is designed to represent a short-lived unit of work. In ASP.NET Core it is normally registered with a scoped lifetime so each HTTP request receives its own context.
DbContext is not thread-safe and should not be shared concurrently between multiple operations or requests.
Code Example
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options)
: base(options)
{
}
public DbSet<Product> Products => Set<Product>();
}