Tutorials Entity Framework Core Tutorial
Fluent API in EF Core
Fluent API in EF Core: free step-by-step lesson with examples, common mistakes, and interview tips — part of Entity Framework Core Tutorial on Toolliyo Academy.
On this page
Entity Framework Core Tutorial · Lesson 14 of 100
Fluent API in EF Core
Beginner → Intermediate → Advanced → Professional
Beginner · 1 — Foundations · ~6 min · Module 2: Code First Approach
What is this?
Fluent API configures the EF model inside OnModelCreating using methods like HasKey, Property, HasOne, and HasIndex — keeping entity classes free of attributes.
Why should you care?
ShopNest needs unique SKU indexes and precise cascade rules — Fluent API centralizes that configuration away from domain entities.
See it live — copy this example
Paste into a .NET project with EF Core packages, then run with LocalDB/SQL Server (dotnet ef / dotnet run).
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Product>(e =>
{
e.Property(p => p.Name).HasMaxLength(200).IsRequired();
e.Property(p => p.Price).HasPrecision(18, 2);
e.HasIndex(p => p.Sku).IsUnique();
e.HasOne(p => p.Category)
.WithMany(c => c.Products)
.HasForeignKey(p => p.CategoryId)
.OnDelete(DeleteBehavior.Restrict);
});
}
What happened?
- OnModelCreating runs once at model build.
- HasPrecision controls decimal columns.
- HasIndex creates a unique index on Sku.
- OnDelete Restrict prevents accidental category deletes.
Practice next
- Move one annotation from Product to Fluent API.
- Add unique index on Sku and migrate.
- Configure Category–Product relationship with explicit delete behavior.
- Extract Product config to ProductConfiguration : IEntityTypeConfiguration
. - Add a composite index on CategoryId + Name for catalog search.
Remember
Fluent API lives in OnModelCreating. Best for indexes, relationships, and precision. Keeps domain entities clean.
ShopNest SKU uniqueness
Fluent API adds unique index on Product.Sku so duplicate warehouse codes fail at insert.
Outcome: Database enforces catalog integrity even if API validation is bypassed.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!