.NET tutorials

PagedResults in EF Core: One class, endless reuse

PagedResults in EF Core: One class, endless reuse

Learn how to build a reusable PagedResults class in .NET that works with Entity Framework Core and supports multiple entity types.
EF Core without migrations - it's only a matter of time

EF Core without migrations - it's only a matter of time

Learn why EF Core without migrations is a disaster. Learn how to setup, configure, and deploy using migrations to keep databases consistent across environments.
Refactoring an ASP.NET Core API with clean architecture

Refactoring an ASP.NET Core API with clean architecture

Learn how to refactor an ASP.NET Core API using clean architecture by separating validation, business logic, and database access into clear layers.
How to migrate from controllers to Minimal APIs

How to migrate from controllers to Minimal APIs

Learn why Minimal APIs are now recommended in .NET and follow a step-by-step guide to migrate from controllers to Minimal APIs with versioning and Swagger.
The best way to create email templates in .NET

The best way to create email templates in .NET

Learn how to generate reusable email HTML using Razor Views in ASP.NET Core with strongly-typed models.
The simplest way to secure a Minimal API (With Swagger)

The simplest way to secure a Minimal API (With Swagger)

Secure your .NET Minimal API quickly using API key authentication, with full Swagger support for testing and protecting endpoints.
Validate .NET configuration on startup

Validate .NET configuration on startup

Learn how to validate .NET configuration on startup using data annotations or FluentValidation, so your app fails fast and never ships with broken config.
EF Core transactions: Stop your data getting out of sync

EF Core transactions: Stop your data getting out of sync

Learn how Entity Framework Core transactions prevent data inconsistencies and how isolation levels affect behaviour in your applications.
Why your Entity Framework Core app needs query filters

Why your Entity Framework Core app needs query filters

Discover how EF Core query filters enforce global rules, simplify multitenancy, and clean up queries to stop sensitive data leaking into production.
C# class types explained with examples

C# class types explained with examples

Learn the different C# class types with clear examples, common compiler errors, and explanations of abstract, sealed, static, partial, unsafe, and record classes.