Improve Your .NET& Software Architecture
Join 66,000+ subscribers accelerating their skills every week
One practical tip every Saturday
.NET best practices and actionable advice
Software Architecture deep dives and fresh ideas
Join thousands of software engineers

Previous issues of The .NET Weekly

Creating Data-Driven Tests With xUnit
March 18, 2023
Data-driven testing is where test data comes from an external source, which is why it's also known as parameterized testing. I'm going to show you fou...

Using Multiple EF Core DbContexts In a Single Application
March 11, 2023
It's common to have only one DbContext for the entire application. But what if you need multiple DbContexts? We're going to explore when you may want ...

How To Apply Functional Programming In C#
March 4, 2023
Although C# is object-oriented, it has plenty of functional features: pattern matching, switch expressions, records. And if you use LINQ, you're alrea...

Outbox Pattern For Reliable Microservices Messaging
February 25, 2023
How can you implement reliable communication between components in a distributed system? The Outbox pattern is an elegant solution, giving you transac...

Structured Logging In ASP.NET Core With Serilog
February 18, 2023
Serilog is a popular .NET logging library, and what makes it unique is structured logging out of the box. Apply the same message format to every log a...

Messaging Made Easy With Azure Service Bus
February 11, 2023
Loose coupling is an important quality in a distributed system, and you need a messaging system to get it. Azure Service Bus is an excellent choice. I...

Working With Transactions In EF Core
February 4, 2023
Every software engineer working with SQL databases needs to know about transactions. And since the database is usually abstracted by an ORM like EF Co...

How To Implement API Key Authentication In ASP.NET Core
January 28, 2023
In this week's newsletter I want to show you how to implement API Key authentication in ASP.NET Core, with the API key passed in a request header. Thi...

C# Yield Return Statement
January 21, 2023
In this week's newsletter I want to talk about the yield keyword in C#. The yield keyword tells the compiler that the method is an iterator block, whi...

Unleash EF Core Performance With Compiled Queries
January 14, 2023
In this week's newsletter I want to introduce you to an interesting EF Core feature called Compiled Queries. If you execute the same query frequently ...
Subscribe to the Newsletter
Join 66,000+ readers of The .NET Weekly for practical tips and resources to improve your .NET and software architecture skills.