How I Develop APIsThe shape every ASP.NET Core API of mine takes, with Heimdall as the example: the folder structure, the design …
The .NET Libraries I Reach ForThe eight libraries I add to my own .NET projects, and why: xUnit.net for tests, Bogus for test data, Moq and …
Test Coverage in .NET: What It Measures and How to Collect ItTest coverage measures how much of your code the tests ran: lines, branches, methods and, in safety-critical …
EF Core or Dapper? Two Ways to Talk to a Database from .NETEF Core maps a model of your classes to the database and writes the SQL for you; Dapper runs the SQL you write …
C# Delegates: Methods as ValuesA delegate is a type-safe reference to one or more methods, so a method can be stored, passed and called later …
IEnumerable, ICollection, IList and IQueryable: What Each Collection Interface PromisesThe collection interfaces in .NET look like a ladder of ever more capable lists, but each one makes a …
How C# Runs: From Source to IL to Machine CodeC# is compiled twice: once by Roslyn into IL and metadata inside an assembly, and again by the .NET runtime …