Tutorials Entity Framework Core Tutorial
Stored Procedures in EF Core
Stored Procedures 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 59 of 100
Stored Procedures in EF Core
Beginner ✓ → Intermediate ✓ → Advanced → Professional
Advanced · 3 — Production skills · ~10 min · Module 6: Advanced EF Core
What is this?
EF Core can call stored procedures for queries and commands using FromSqlRaw with EXEC or ExecuteSqlRaw for non-query procs.
Why should you care?
ShopNest finance still uses sp_GenerateMonthlySettlement on SQL Server — EF integrates without rewriting years of T-SQL.
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).
var month = new SqlParameter("@Month", SqlDbType.Int) { Value = 7 };
var year = new SqlParameter("@Year", SqlDbType.Int) { Value = 2026 };
await _context.Database.ExecuteSqlRawAsync(
"EXEC dbo.sp_RecalculateCategoryStats @Month, @Year", month, year);
var rows = await _context.Set<CategoryStatsResult>()
.FromSqlRaw("EXEC dbo.sp_GetCategoryStats @Month, @Year", month, year)
.ToListAsync();
What happened?
- ExecuteSqlRawAsync runs proc without result mapping.
- FromSqlRaw on keyless CategoryStatsResult maps result sets to CLR type.
Practice next
- Create proc in SSMS and grant execute to app login.
- Define keyless entity matching result columns exactly.
- Pass SqlParameter objects — never string concat.
- Register CategoryStatsResult with HasNoKey in OnModelCreating.
- Output parameter via SqlParameter Direction Output.
Remember
ExecuteSqlRaw for action procs. FromSqlRaw maps result sets to types. Keyless entities for proc results.
ShopNest month-end stats
Job executes sp_RecalculateCategoryStats nightly via ExecuteSqlRawAsync.
Outcome: Finance keeps trusted proc; .NET orchestrates schedule only.
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!