Skip to main content
  1. Categories/

.NET

Adding .NET Aspire to an Existing Clean Architecture Project

Deep Dive · Dec 20, 2025 · 10 min read
The infrastructure overhead in microservices projects is real. Setting up databases, wiring service discovery, getting distributed tracing working, managing connection strings across environments—this work hits before you’ve written a line of business logic. On more than one project, I’ve watched the first sprint disappear into Docker Compose files and appsettings drift.
Adding .NET Aspire to an Existing Clean Architecture Project

Building Production-Ready Microservices with .NET Aspire: A Complete E-Commerce Demo

Deep Dive · Dec 6, 2025 · 24 min read
If you’ve ever built a microservices architecture, you know the pain points all too well: spending hours setting up PostgreSQL locally, wrestling with Redis configurations, debugging why RabbitMQ won’t connect, managing connection strings across multiple services, and let’s not even talk about implementing distributed tracing manually.
Building Production-Ready Microservices with .NET Aspire: A Complete E-Commerce Demo

.NET Architecture at Scale: Visual Guide to Modern Design Patterns

Deep Dive · Jul 5, 2025 · 46 min read
.NET Architecture at Scale: Visual Guide to Modern Design Patterns # ⚡ Performance Note: This article contains 16 comprehensive patterns with visual diagrams. For faster loading, consider bookmarking specific sections or using the “Find in Page” (Ctrl+F) feature to jump to relevant patterns.
.NET Architecture at Scale: Visual Guide to Modern Design Patterns

Simplify Your Workflow: How to Build Custom Commands with the .NET CLI

Deep Dive · Jan 14, 2025 · 11 min read
In today’s fast-moving world of software development, being able to automate tasks and make your workflows smoother is super important. Many .NET developers already know how to make web apps, services, and libraries. But not everyone realizes that you can also use the .NET CLI (Command-Line Interface) to create custom tools that save time, simplify your work, and make repetitive tasks a breeze. These tools can help streamline your daily activities and provide powerful functionality for your team.
Simplify Your Workflow: How to Build Custom Commands with the .NET CLI

Simplifying Database Queries with AI & SQL Automation

Deep Dive · Jan 6, 2025 · 15 min read
TL;DR # This article demonstrates how to build a REST API that converts natural language into SQL queries using multiple LLM providers (OpenAI, Azure OpenAI, Claude, and Gemini). The system dynamically selects the appropriate AI service based on configuration, executes the generated SQL against a database, and returns structured results. It includes a complete implementation with a service factory pattern, Docker setup, and example usage.
Simplifying Database Queries with AI & SQL Automation

Implementing SharePoint File CRUD Operations using Microsoft Graph API

Deep Dive · Dec 24, 2024 · 11 min read
Introduction # Microsoft Graph API provides a unified endpoint for accessing Microsoft 365 services, including SharePoint. This article demonstrates how to implement create, read, update, and delete (CRUD) operations for files in SharePoint document libraries using Microsoft Graph API and .NET. You’ll learn how to authenticate to Microsoft Graph, navigate SharePoint site structure, and manage files programmatically.
Implementing SharePoint File CRUD Operations using Microsoft Graph API

Building an AI-Driven Chat Application with .NET, Azure OpenAI, and Angular

Deep Dive · Dec 7, 2024 · 11 min read
Introduction # Artificial Intelligence is transforming how we build applications, particularly in creating natural, conversational user experiences. This article guides you through building a full-stack AI chat application using .NET on the backend, Angular for the frontend, and Azure OpenAI for powerful language model capabilities, all connected through real-time SignalR communication.
Building an AI-Driven Chat Application with .NET, Azure OpenAI, and Angular

Validating Inputs with FluentValidation

Deep Dive · Dec 1, 2024 · 6 min read
Introduction # In this article, we will explore how to implement input validation in the Contact Management Application using FluentValidation. FluentValidation is a robust .NET library that facilitates the creation of flexible and extensible validation rules for your models. By integrating seamlessly with ASP.NET Core, it allows you to maintain clean separation between validation logic and business logic, adhering to the principles of Clean Architecture.
Validating Inputs with FluentValidation

Using Dapper for Data Access and Repository Pattern

Deep Dive · Dec 1, 2024 · 9 min read
Introduction # In this article, we will explore how the Contact Management Application integrates Dapper for efficient data access. Dapper is a micro-ORM (Object-Relational Mapper) that excels in performance by directly interacting with SQL. We will focus on how Dapper is utilized within the Repository Pattern to ensure clean, maintainable, and efficient access to the database. Additionally, we will explore how Dapper works in tandem with the Unit of Work pattern to manage transactions.
Using Dapper for Data Access and Repository Pattern

Unit of Work Pattern and Its Role in Managing Transactions

Deep Dive · Dec 1, 2024 · 6 min read
Introduction # The Unit of Work pattern is a critical component in maintaining data consistency within applications that perform multiple database operations as part of a single logical transaction. In Clean Architecture, this pattern works alongside the Repository pattern to manage database transactions effectively, ensuring that changes are saved atomically and consistently. This article explores how the Unit of Work pattern is implemented in the Contact Management Application to coordinate related operations and maintain data integrity.
Unit of Work Pattern and Its Role in Managing Transactions

Seeding Initial Data Using Docker Compose and SQL Scripts

Deep Dive · Dec 1, 2024 · 7 min read
Introduction # When setting up a new application, especially in development and testing environments, having a consistent and repeatable process for initializing your database with essential data is crucial. This article explores how the Contact Management Application uses Docker Compose and SQL scripts to automate the seeding process, ensuring that every instance of the application starts with the necessary baseline data.
Seeding Initial Data Using Docker Compose and SQL Scripts