Tutorials Entity Framework Core Tutorial
Exception Debugging in EF Core
Exception Debugging 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 88 of 100
Exception Debugging in EF Core
Beginner ✓ → Intermediate ✓ → Advanced ✓ → Professional
Professional · 4 — Real projects · ~10 min · Module 9: Testing & Debugging
What is this?
Exception debugging interprets DbUpdateException, retryable SqlException numbers, and inner exceptions to find constraint violations, timeouts, and concurrency conflicts.
Why should you care?
ShopNest support ticket "checkout failed" needs dev to read DbUpdateException inner SqlException 2627 unique SKU not generic 500.
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).
try
{
await _context.SaveChangesAsync(ct);
}
catch (DbUpdateException ex)
{
_logger.LogError(ex, "Save failed. Entries: {Entries}",
string.Join(", ", ex.Entries.Select(e => e.Entity.GetType().Name)));
if (ex.InnerException is SqlException sql)
_logger.LogError("SQL {Number}: {Message}", sql.Number, sql.Message);
throw;
}
What happened?
- ex.Entries lists entities involved in failure.
- SqlException.Number 2627 is unique violation; 547 is FK violation — map to user messages.
Practice next
- Log full exception chain server-side always.
- Reproduce with SQL Profiler capturing failing batch.
- Use entries collection to identify which entity failed validation.
- Build exception mapper dictionary for ShopNest support portal codes.
- Simulate timeout with low CommandTimeout and catch SqlException -2.
Remember
DbUpdateException wraps SQL errors. Log entries and SqlException number. Map common numbers to business messages.
ShopNest duplicate SKU incident
Logs show SqlException 2627 on Products.Sku during seller bulk upload.
Outcome: Support tells seller exact SKU conflict instead of generic error.
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!