Learn Minimal APIs from start to finish. Perfect for beginners.

.NET tutorials

What is middleware in ASP.NET Core and the gotchas
What is middleware in ASP.NET Core and the gotchas

Learn what middleware is in ASP.NET Core, how to write your own, and the gotchas around calling next, and changing the response after it starts.

EF Core navigation property returning null? Here's why
EF Core navigation property returning null? Here's why

Find out why your EF Core navigation property come back as null. Learn how Include() fixes it, when you need it, and the pitfalls to watch for.

Stop ignoring API failures. Use Polly
Stop ignoring API failures. Use Polly

API calls fail. Learn how to add Polly to an ASP.NET Core Web API to handle retries, circuit breakers and timeouts.

Build a .NET 10 Web API - Minimal APIs, EF Core & SQL Server
Build a .NET 10 Web API - Minimal APIs, EF Core & SQL Server

Build a .NET 10 Web API with Minimal APIs, Entity Framework Core and SQL Server, using Clean Architecture and FluentValidation.

Stop updating NuGet packages on every project
Stop updating NuGet packages on every project

Learn how Central Package Management lets you manage NuGet package versions from a single file across all projects in your .NET solution.

C# basics tutorial: Learn variables, classes and lists
C# basics tutorial: Learn variables, classes and lists

Learn C# basics with this tutorial covering variables, conditionals, arrays, lists, loops, classes, structs, interfaces, enums and static classes.

Slow pagination in EF Core? Try keyset pagination
Slow pagination in EF Core? Try keyset pagination

Learn how keyset pagination works in Entity Framework Core, how it compares to offset pagination, and how indexes can dramatically improve your pagination performance.

C# ToString(), operators and indexers - Are you using these?
C# ToString(), operators and indexers - Are you using these?

Learn how to override ToString(), overload operators and use indexers in C# classes, featuring examples of addition and subtraction.

Track every EF Core record change with temporal tables
Track every EF Core record change with temporal tables

Learn how to track every change to your EF Core records using SQL Server temporal tables, with examples for querying the history.

.NET app returning a blank 500? Not with exception handlers
.NET app returning a blank 500? Not with exception handlers

Is your ASP.NET Core Web API returning a blank 500 response? Learn how to fix it properly using exception handlers.