# codewithmukesh — Full Article Reference > Every published article on codewithmukesh.com — a .NET developer blog by Mukesh Murugan (Solutions Architect, Microsoft MVP) covering ASP.NET Core, .NET 10, EF Core, Clean Architecture, Docker, AWS, Terraform, and AI-assisted development with Claude Code. 171 articles, newest first by last update. For the curated site map, courses, newsletter, and sponsorship details, see https://codewithmukesh.com/llms.txt ## Filtering EF Core by a Large List: The 2,100 Parameter Wall - URL: https://codewithmukesh.com/blog/ef-core-contains-large-list/ - Published: 2026-09-13 · Updated: 2026-09-13 - Category: dotnet, webapi-course · Tags: ef-core, entity-framework-core, efcore-10, dotnet-10, contains, linq, sql-server, parameter-limit, 2100-parameters, openjson, ef-constant, ef-parameter, parameterized-collections, query-performance, plan-cache, temp-table, composite-key, predicatebuilder, benchmarks, performance, csharp, web-api EF Core 10 changed how Contains sends a list to SQL Server. Here is the real parameter ceiling, what happens when you cross it, and benchmarks for every fix. TL;DR. EF Core 10 translates `Contains` to multiple scalar parameters by default, and pads that list, so your parameter count is always at least your list length. Past 2,098 parameters EF silently falls back to a single JSON parameter with `OPENJSON`. Below roughly 1,000 IDs, leave the default alone. Between 1,000 and 2,098 the default is the slowest built-in option and `EF.Parameter(ids)` is about 8x faster. Above 2,098 the default already is `EF.Parameter` in disguise, so it's fine. At 100,000 IDs a hand-rolled temp table won. `EF.Constant` is excellent for tiny fixed sets and dies at 100,000. ## Deploy a .NET 10 App to a VPS with Dokploy (DigitalOcean) - URL: https://codewithmukesh.com/blog/deploy-dotnet-app-to-digitalocean-with-dokploy/ - Published: 2026-07-19 · Updated: 2026-09-08 - Category: docker, dotnet, claude · Tags: dokploy, digitalocean, dotnet-10, deployment, self-hosting, vps, docker, traefik, postgresql, valkey, cloudflare-r2, react, ssl, lets-encrypt, ci-cd, github-actions, cloudflare, devops, aspnet-core, webapi, paas, self-hosted-paas, aws-alternative, azure-alternative, app-service-alternative, dotnet-deployment, server-security Run a .NET 10 Web API on a VPS you own instead of App Service. Full Dokploy guide on a DigitalOcean droplet: managed Postgres, Valkey, Cloudflare R2, and SSL. TL;DR. Spin up a DigitalOcean droplet (2 GB RAM minimum, 4 GB comfortable), install Dokploy with `curl -sSL https://dokploy.com/install.sh | sh`, and open the dashboard at `http://:3000`. Deploy the .NET 10 Web API exposing port 8080, deploy two React frontends (a clinic app and a platform-admin app) behind Nginx, run Valkey as a container for caching, and connect a DigitalOcean Managed Postgres database. Add Cloudflare R2 (S3-compatible, zero egress fees) for uploads. Point Cloudflare subdomains at each app and Dokploy provisions Let's Encrypt SSL through Traefik automatically. Because building .NET images on the droplet spiked CPU to 90%, I moved builds to GitHub Actions and let Dokploy deploy the prebuilt image. Hide the origin behind Cloudflare's proxy and a DigitalOcean firewall. Total cost runs about $40 per month. ## Stop Your AI Agent Picking the Wrong .NET Libraries - URL: https://codewithmukesh.com/blog/ai-agent-nuget-package-guardrails-dotnet/ - Published: 2026-09-07 · Updated: 2026-09-07 - Category: dotnet, claude · Tags: ai coding agents, claude code, github copilot, nuget, nuget mcp server, package management, central package management, directory.packages.props, nuget audit, package source mapping, slopsquatting, supply chain security, dotnet 10, automapper, mediatr, masstransit, polly, software licensing, dependency management, aspnet core AI agents default to AutoMapper, MediatR and MassTransit, all now commercial. Verified 2026 licensing, NuGet MCP Server, and guardrails that fail the build. ## AutoMapper vs Mapster vs Manual Mapping in .NET 10 - Pick the Right One in 2026 - URL: https://codewithmukesh.com/blog/automapper-vs-mapster-vs-manual-mapping-dotnet/ - Published: 2026-09-03 · Updated: 2026-09-03 - Category: dotnet, webapi-course · Tags: automapper, mapster, mapperly, manual mapping, object mapping, dotnet 10, aspnet core, native aot, benchmarkdotnet, commercial license, dto, minimal api, clean architecture, source generator, record types, ef core, performance, migration, lucky penny software, object mapper, claude code, github copilot, ai coding agents, nuget audit AutoMapper went commercial in 2025. Compare AutoMapper, Mapster, Mapperly, and manual mapping in .NET 10 with real benchmarks and a decision matrix. ## Global Exception Handling in ASP.NET Core - The Complete Guide for .NET 10 - URL: https://codewithmukesh.com/blog/global-exception-handling-in-aspnet-core/ - Published: 2024-04-27 · Updated: 2026-09-03 - Category: dotnet, webapi-course · Tags: exception handling, error handling, IExceptionHandler, problem details, middleware, dotnet 10, dotnet-webapi-zero-to-hero-course Master IExceptionHandler in ASP.NET Core. Complete guide with custom exceptions, handler chaining, Problem Details, and .NET 10's SuppressDiagnosticsCallback. ## 30 .NET Microservices Interview Questions That Actually Get Asked in 2026 - URL: https://codewithmukesh.com/blog/microservices-interview-questions-dotnet/ - Published: 2026-08-31 · Updated: 2026-08-31 - Category: dotnet, architecture · Tags: interview-questions, microservices, dotnet-microservices, dotnet-10, csharp, interview-prep, dotnet-interview, microservices-interview, saga-pattern, outbox-pattern, idempotency, api-gateway, yarp, grpc, event-driven, message-broker, circuit-breaker, distributed-systems, dotnet-aspire, opentelemetry 30 scenario-based .NET microservices interview questions with great answers, red flags, and follow-ups. Saga, outbox, gRPC, resilience, Aspire - updated for 2026. ## How to Convert HTML to PDF in C# (.NET 10 Guide) - URL: https://codewithmukesh.com/blog/generate-pdf-invoices-aspnet-core-web-api/ - Published: 2026-08-24 · Updated: 2026-08-24 - Category: dotnet, webapi-course · Tags: html-to-pdf, pdf-generation, ironpdf, csharp, dotnet-10, aspnet-core, minimal-apis, invoice-pdf, chromepdfrenderer, print-css, page-breaks, cultureinfo, backgroundservice, channels, questpdf, playwright, file-handling, web-api, dotnet-webapi-zero-to-hero-course, paged-media Convert HTML to PDF in C# with .NET 10. Build a real invoice endpoint with page breaks, repeating table headers, culture-aware currency and a render queue. ## API Versioning in ASP.NET Core - The .NET 10 Guide - URL: https://codewithmukesh.com/blog/api-versioning-in-aspnet-core/ - Published: 2026-08-20 · Updated: 2026-08-20 - Category: dotnet, webapi-course · Tags: api-versioning, aspnet-core, dotnet-10, asp-versioning, asp-versioning-10-2, web-api, minimal-apis, openapi, scalar, url-versioning, header-versioning, api-deprecation, sunset-header, rfc-8594, visible-in-api-version, model-versioning, roslyn-analyzers, versioning-best-practices, breaking-changes, dotnet-webapi-zero-to-hero-course An opinionated guide to API versioning in ASP.NET Core on .NET 10: URL vs header, Asp.Versioning 10.2, Minimal APIs, OpenAPI, and field-level versioning. TL;DR. Install `Asp.Versioning.Http` (Minimal APIs) or `Asp.Versioning.Mvc` (controllers), plus `Asp.Versioning.Mvc.ApiExplorer` and `Asp.Versioning.OpenApi`. Register with `builder.Services.AddApiVersioning(...).AddApiExplorer(o => o.GroupNameFormat = "'v'VVV").AddOpenApi()`, then `app.MapOpenApi().WithDocumentPerVersion()`. Default to URL-segment versioning (`/api/v1/products`) for public REST APIs - it is the most visible, most cacheable, and easiest to test. Set `ReportApiVersions = true` so responses advertise supported versions. Version from day one (ship a v1), treat the scheme as a one-way door, use `[VisibleInApiVersion]` for single-field changes instead of a whole new version, and when you retire a version, announce it with a `Sunset` header (RFC 8594) before you delete it. ## Best Libraries for ASP.NET Core in 2026 (Opinionated) - URL: https://codewithmukesh.com/blog/best-libraries-for-aspnet-core/ - Published: 2026-06-29 · Updated: 2026-08-19 - Category: dotnet · Tags: nuget, nuget-packages, aspnet-core, dotnet-10, best-libraries, dotnet-libraries, serilog, ef-core, dapper, fluentvalidation, automapper, mediatr, masstransit, polly, mapperly, hangfire, wolverine, scalar, open-source-licensing, starter-stack An opinionated list of the best libraries for ASP.NET Core in 2026 - what to install, what .NET 10 now ships free, and which popular packages went commercial. ## The Ultimate .NET Developer Roadmap 2026 - AI, Backend, Blazor & Full-Stack - URL: https://codewithmukesh.com/blog/dotnet-developer-roadmap/ - Published: 2026-01-02 · Updated: 2026-08-19 - Category: dotnet, architecture · Tags: roadmap, career, aspnetcore, csharp, backend, blazor, fullstack, learning A comprehensive, practical roadmap for .NET developers covering C#, AI Tools, ASP.NET Core APIs, Blazor, databases, architecture, cloud, and DevOps. Choose your path: Backend, Frontend with Blazor, or Full-Stack. ## 20+ .NET 10 Best Practices & Tips from a Senior Developer - URL: https://codewithmukesh.com/blog/20-tips-from-a-senior-dotnet-developer/ - Published: 2025-03-21 · Updated: 2026-08-19 - Category: dotnet, webapi-course · Tags: tips, dotnet, dotnet-10, aspnet-core, webapi, clean-code, dependency-injection, async-await, entity-framework-core, caching, logging, cancellation-tokens, exception-handling, ci-cd, security, background-services, feature-flags, performance, dotnet-webapi-zero-to-hero-course 20+ battle-tested .NET 10 best practices from a senior developer - async, EF Core optimization, DI, caching, security, exception handling, and more. Updated for 2026. TL;DR. The 5 highest-ROI .NET 10 practices: (1) master DI properly - pick the right service lifetime (Transient/Scoped/Singleton) before your codebase scales; (2) write `async/await` correctly - never `.Result` or `.Wait()`, never `async void` outside event handlers; (3) use EF Core 10 deliberately - `AsNoTracking()` on every read (2.9-5.2x faster, real benchmarks), watch for N+1, prefer `ExecuteUpdate` for set-based ops; (4) propagate `CancellationToken` through every async call - it's the most underrated production lever; (5) cache with `HybridCache` (the new .NET 10 default) over hand-rolled in-memory + Redis. Below: 20 tips, decision matrices, troubleshooting, and the patterns I keep across every project. ## FullStackHero: The Free, Open-Source .NET 10 Starter Kit - URL: https://codewithmukesh.com/blog/introducing-fullstackhero/ - Published: 2022-02-26 · Updated: 2026-08-19 - Category: dotnet · Tags: fullstackhero, dotnet-10, starter-kit, boilerplate, dotnet-boilerplate, saas-boilerplate, modular-monolith, vertical-slice-architecture, multi-tenant, saas, aspnet-core, ef-core-10, minimal-api, dotnet-aspire, react, clean-architecture, abp-alternative, open-source, scalar, finbuckle, webapi FullStackHero is a free, MIT-licensed .NET 10 starter kit for multi-tenant SaaS - a modular monolith with 10 modules, 2 React apps, and one-command Aspire dev. ## Build Your First MCP Server in C# with the Official SDK - URL: https://codewithmukesh.com/blog/build-mcp-server-csharp/ - Published: 2026-08-16 · Updated: 2026-08-16 - Category: dotnet, claude · Tags: mcp, model-context-protocol, mcp-server, csharp, dotnet, dotnet-10, modelcontextprotocol, mcp-csharp-sdk, ai-coding, claude-code, github-copilot, json-rpc, stdio-transport, streamable-http, dependency-injection, aspnet-core, nuget, ai-tools, ai-agents, mcp-inspector Build an MCP server in C# with the official ModelContextProtocol SDK 2.1 on .NET 10. Real tools, stdio and HTTP transport, plus what actually changed in v2.0. ## 35 Senior .NET Developer Interview Questions That Actually Get Asked in 2026 - URL: https://codewithmukesh.com/blog/senior-dotnet-developer-interview-questions/ - Published: 2026-08-09 · Updated: 2026-08-09 - Category: dotnet · Tags: interview-questions, dotnet-10, csharp, interview-prep, dotnet-interview, senior-developer, garbage-collection, memory-management, thread-pool, diagnostics, performance, benchmarkdotnet, architecture, migration, production-debugging, observability, concurrency, system-design 35 senior .NET interview questions with great answers, red flags, and follow-ups. GC, thread pool starvation, production diagnostics - updated for .NET 10. ## 30 ASP.NET Core Interview Questions That Actually Get Asked in 2026 - URL: https://codewithmukesh.com/blog/aspnet-core-interview-questions/ - Published: 2026-07-21 · Updated: 2026-08-09 - Category: dotnet · Tags: interview-questions, aspnetcore, asp-net-core, dotnet-10, csharp, interview-prep, dotnet-interview, aspnet-core-interview, middleware, dependency-injection, di-lifetimes, hosting, kestrel, configuration, options-pattern, filters, model-binding, background-service, httpcontext, request-pipeline 30 real ASP.NET Core internals interview questions with great answers, red flags, and follow-ups. Middleware, DI, hosting, configuration - updated for .NET 10. ## 30 LINQ Interview Questions That Actually Get Asked in 2026 - URL: https://codewithmukesh.com/blog/linq-interview-questions/ - Published: 2026-06-27 · Updated: 2026-08-09 - Category: dotnet · Tags: interview-questions, linq, csharp, csharp-14, dotnet-10, interview-prep, dotnet-interview, linq-interview, deferred-execution, iqueryable, ienumerable, expression-trees, ef-core, query-syntax, method-syntax, selectmany, groupby, countby, performance 30 real LINQ interview questions with great answers, red flags, and follow-ups. Deferred execution, IQueryable, expression trees, and the .NET 9/10 operators. ## .NET Interview Questions: The 2026 Guide (300+ Real Questions) - URL: https://codewithmukesh.com/blog/dotnet-interview-questions/ - Published: 2026-06-24 · Updated: 2026-08-09 - Category: dotnet · Tags: interview-questions, dotnet-interview, dotnet-10, csharp, csharp-14, interview-prep, aspnetcore, efcore, system-design, async, linq, dependency-injection, microservices, architecture, senior-dotnet, junior-dotnet, career, dotnet-interview-questions, scenario-based Real .NET interview questions with great answers, red flags, and follow-ups. C#, EF Core, ASP.NET Core, system design - updated for .NET 10 and C# 14. ## 30 EF Core Interview Questions That Actually Get Asked in 2026 - URL: https://codewithmukesh.com/blog/efcore-interview-questions/ - Published: 2026-06-24 · Updated: 2026-08-09 - Category: dotnet · Tags: interview-questions, efcore, ef-core-10, entity-framework, dotnet-10, csharp, interview-prep, dotnet-interview, ef-core-interview, change-tracking, migrations, n-plus-1, asnotracking, concurrency, linq, dbcontext, query-optimization, lazy-loading, executeupdate, data-access 30 real EF Core interview questions with great answers, red flags, and follow-ups. N+1, change tracking, migrations, concurrency - updated for EF Core 10. ## 30 Advanced Claude Code Tips for .NET Developers (2026) - URL: https://codewithmukesh.com/blog/claude-code-tips-advanced/ - Published: 2026-06-08 · Updated: 2026-08-07 - Category: claude · Tags: claude-code, claude-code-tips, dotnet, csharp, ai-coding, claude-md, subagents, claude-code-hooks, mcp, model-context-protocol, git-worktrees, context-engineering, plan-mode, dotnet-10, aspnet-core, developer-productivity, ai-assisted-development, dotnet-claude-kit, slash-commands, dynamic-workflows, headless-claude-code, agent-sdk Thirty advanced Claude Code tips for .NET developers: goal loops, hooks, subagents, worktrees, batch migrations, and model selection, all verified for 2026. ## Permission-Based Authorization in ASP.NET Core - A .NET 10 Guide - URL: https://codewithmukesh.com/blog/permission-based-authorization-in-aspnet-core/ - Published: 2021-01-24 · Updated: 2026-08-06 - Category: dotnet, webapi-course · Tags: permission-based-authorization, permissions, authorization, aspnet-core, dotnet-10, iauthorizationpolicyprovider, authorization-handler, iauthorizationrequirement, role-claims, rolemanager, dynamic-policies, jwt, claims, aspnet-core-identity, minimal-api, api-security, access-control, rbac, web-api Build permission-based authorization in ASP.NET Core .NET 10 - a dynamic policy provider, runtime-managed role permissions, and what token-bound permissions really cost. ## When to Use Microservices (And When Not To) - URL: https://codewithmukesh.com/blog/when-to-use-microservices/ - Published: 2026-07-31 · Updated: 2026-07-31 - Category: architecture, dotnet, webapi-course · Tags: microservices, microservices dotnet, monolith, modular monolith, software architecture, distributed systems, system design, clean architecture, domain-driven-design, ddd, conways law, event-driven-architecture, api gateway, dotnet 10, asp.net-core, scalability, architecture decisions, service boundaries, message queue, database per service A .NET architect's decision guide to microservices: what they actually solve, when to use them, when to avoid them, and why a modular monolith usually wins first. ## Claude Code Prompts for .NET Developers - A Copy-Paste Library - URL: https://codewithmukesh.com/blog/claude-code-prompts-dotnet/ - Published: 2026-07-02 · Updated: 2026-07-29 - Category: claude · Tags: claude-code, claude-code-prompts, prompt-engineering, ai-coding-assistant, dotnet-10, aspnet-core, ef-core-10, minimal-apis, vertical-slice-architecture, clean-architecture, modular-monolith, unit-testing, integration-testing, xunit-v3, testcontainers, aspire, fluentvalidation, serilog, ai-workflow, developer-productivity 11 copy-paste Claude Code prompts for .NET developers: architecture, scaffolding, EF Core, testing and Aspire, each with guardrails that keep output clean. ## I Built a Claude Code Skill That Scaffolds My .NET Architecture - URL: https://codewithmukesh.com/blog/claude-code-skill-scaffold-dotnet-architecture/ - Published: 2026-06-25 · Updated: 2026-07-29 - Category: claude, dotnet · Tags: claude-code, claude-code-skills, dotnet-10, vertical-slice-architecture, scaffolding, minimal-apis, code-generation, ai-coding-assistant, claude-md, ef-core-10, fluent-validation, developer-productivity, anthropic, slash-commands, convention-over-configuration, aspnet-core, feature-folders, agentic-coding Teach Claude Code your conventions once. Build a custom skill that scaffolds a full vertical slice in .NET 10 - endpoint, handler, validator, EF config, and test - your way. ## Git Worktrees in Claude Code - Run Parallel .NET Sessions - URL: https://codewithmukesh.com/blog/git-worktrees-claude-code/ - Published: 2026-06-21 · Updated: 2026-07-29 - Category: claude · Tags: claude-code, git-worktrees, parallel-development, isolated-branches, ai-coding-assistant, git, developer-productivity, subagents, worktree-hooks, multi-session, ai-workflow, developer-tools, version-control, branching-strategy, claude-opus, dotnet-development, tmux, cli-tools, git-branching, ci-cd-pipeline Run parallel Claude Code sessions on isolated .NET branches with Git worktree support: the --worktree flag, branching from a PR, subagent isolation, cleanup. ## Claude Code Skills: Reusable Prompts and .NET Workflows - URL: https://codewithmukesh.com/blog/skills-claude-code/ - Published: 2026-05-23 · Updated: 2026-07-29 - Category: claude · Tags: claude-code, skills, custom-slash-commands, skill-md, reusable-prompts, ai-workflow, developer-productivity, ai-coding-assistant, claude-md, automation, dotnet-10, aspnet-core, developer-tools, ai-assisted-development, claude-opus, context-fork, allowed-tools, subagent-delegation, slash-commands, agent-skills-standard Build reusable skills in Claude Code with SKILL.md to automate .NET workflows: frontmatter reference, arguments, subagent delegation, and 5 production patterns. ## .claude Folder Structure Explained - Every File, With .NET Examples - URL: https://codewithmukesh.com/blog/anatomy-of-the-claude-folder/ - Published: 2026-04-07 · Updated: 2026-07-29 - Category: claude · Tags: claude-code, claude-folder, claude-md, claude-code-skills, claude-code-rules, claude-code-agents, claude-code-commands, settings-json, ai-coding-assistant, developer-productivity, ai-workflow, claude-code-configuration, dotnet-10, ai-assisted-development, claude-opus, slash-commands, permissions, claude-code-setup, developer-tools, automation What every file in the .claude folder does: CLAUDE.md, rules, skills, agents, commands, settings.json and the global ~/.claude/, on a real .NET setup. ## Anatomy of a Claude Code Session - Under the Hood on a .NET Repo - URL: https://codewithmukesh.com/blog/anatomy-claude-code-session/ - Published: 2026-03-26 · Updated: 2026-07-29 - Category: claude · Tags: claude-code, agentic-loop, ai-coding-assistant, context-window, system-prompt, tools, sub-agents, hooks, permissions, token-usage, context-compaction, plan-mode, claude-md, prompt-caching, developer-tools, ai-architecture, claude-opus, anthropic Trace what happens inside Claude Code on a .NET repo, from keystroke to code change: the agentic loop, tools, context management, sub-agents, and token budget. ## Prompt Engineering for Claude Code - The .NET Developer's Guide - URL: https://codewithmukesh.com/blog/prompt-engineering-claude-code-dotnet/ - Published: 2026-03-07 · Updated: 2026-07-29 - Category: claude · Tags: claude-code, prompt-engineering, dotnet, ai-coding, claude-md, ai-assistant, csharp, aspnet-core, developer-productivity, ai-prompts, claude-code-tips, dotnet-10, coding-assistant, ai-tools, developer-tools, prompt-patterns, claude-skills, plan-mode Write effective Claude Code prompts for .NET 10 projects. The 4-layer instruction hierarchy, 10 Bad vs Better patterns, and a decision matrix from 6 months of daily use. ## Claude Code Plan Mode for .NET Developers - From First Plan to Ultraplan - URL: https://codewithmukesh.com/blog/plan-mode-claude-code/ - Published: 2026-02-25 · Updated: 2026-07-29 - Category: claude · Tags: claude-code, plan-mode, ultraplan, claude-code-goal, opusplan, effort-levels, permission-modes, ai-coding-assistant, ai-planning, aspnet-core, dotnet-10, developer-productivity, ai-assisted-development, claude-md, developer-tools, code-planning, ai-workflow, software-architecture, auto-mode, claude-opus How I use Claude Code Plan Mode to scope ASP.NET Core features before any code is written: the 4-phase workflow, opusplan, Ultraplan review, and /goal. ## CLAUDE.md for .NET - The Perfect Setup with Copy-Paste Templates - URL: https://codewithmukesh.com/blog/claude-md-mastery-dotnet/ - Published: 2026-01-24 · Updated: 2026-07-29 - Category: dotnet, claude · Tags: claude-code, claude-md, ai-coding, clean-architecture, developer-productivity, dotnet-best-practices, ai-assisted-development, claude-md-template, auto-memory, agents-md, claude-code-rules, context-engineering, memory-hierarchy, dotnet-10, claude-code-tutorial, ai-pair-programming Turn Claude Code into a senior engineer that knows your codebase. The perfect CLAUDE.md for .NET - memory hierarchy, AGENTS.md interop, and copy-paste templates. ## Claude Code Tutorial for Beginners: Setup, CLAUDE.md, and Real Costs - URL: https://codewithmukesh.com/blog/claude-code-for-beginners/ - Published: 2026-01-15 · Updated: 2026-07-29 - Category: claude · Tags: claude-code, ai-coding-assistant, claude-md, plan-mode, auto-mode, permission-modes, tutorial, github-copilot-alternative, developer-tools, claude-code-tutorial, anthropic, ai-pair-programming, agentic-coding, claude-code-skills, claude-code-installation, claude-code-windows, claude-code-pricing, cursor-alternative, auto-memory, dotnet Learn Claude Code from scratch: install it, write your first CLAUDE.md, use Plan Mode and auto mode, what it really costs, and how it compares to Copilot. ## Health Checks in ASP.NET Core: A Complete Guide (.NET 10) - URL: https://codewithmukesh.com/blog/health-checks-in-aspnet-core/ - Published: 2026-07-27 · Updated: 2026-07-27 - Category: dotnet, webapi-course · Tags: health-checks, aspnet-core, dotnet-10, liveness-probe, readiness-probe, startup-probe, kubernetes, ihealthcheck, adddbcontextcheck, health-checks-ui, redis, ef-core-10, observability, monitoring, minimal-api, web-api, production-readiness, docker, scalar, ihealthcheckpublisher, graceful-shutdown, output-caching, dotnet-aspire, dotnet-webapi-zero-to-hero-course Add health checks to ASP.NET Core on .NET 10: database, Redis and custom checks, liveness vs readiness probes, probe cost, graceful drain, and Kubernetes wiring. ## How I Use dotnet-claude-kit for Senior-Level .NET with Claude Code - URL: https://codewithmukesh.com/blog/dotnet-claude-kit-guide/ - Published: 2026-07-25 · Updated: 2026-07-25 - Category: claude · Tags: claude-code, dotnet-claude-kit, claude-code-plugin, ai-coding-assistant, dotnet-10, csharp-14, aspnet-core, roslyn, mcp-server, minimal-api, ef-core, vertical-slice-architecture, clean-architecture, code-review, scaffolding, testcontainers, claude-md, developer-productivity, ai-workflow, open-source Install and use dotnet-claude-kit: 47 skills, 10 agents, 16 commands, and 20 Roslyn MCP tools that make Claude Code write production-ready .NET 10 code. ## Second-Level Caching in EF Core 10: The Complete Guide - URL: https://codewithmukesh.com/blog/ef-core-second-level-caching/ - Published: 2026-07-20 · Updated: 2026-07-20 - Category: dotnet, webapi-course · Tags: ef-core, entity-framework-core, efcore-10, dotnet-10, second-level-cache, second-level-caching, ef-core-caching, query-caching, EFCoreSecondLevelCacheInterceptor, caching, redis, hybridcache, cache-invalidation, performance, benchmarks, interceptors, postgresql, aspnet-core, csharp, web-api Add second-level caching to EF Core 10 with EFCoreSecondLevelCacheInterceptor, Redis, and HybridCache - with real benchmarks and the invalidation gotchas. TL;DR. EF Core 10 has no native second-level (result) cache; its first-level cache is the change tracker, per `DbContext`. Add one with `EFCoreSecondLevelCacheInterceptor` (v5.5.0). In v5 the cache providers are separate NuGet packages - install `EFCoreSecondLevelCacheInterceptor.MemoryCache` (or `.StackExchange.Redis` / `.HybridCache`), call `AddEFSecondLevelCache(...)`, and add the `SecondLevelCacheInterceptor` to your `DbContext`. Cache per-query with `.Cacheable(...)` or globally with `CacheAllQueries(...)`. It auto-invalidates on `SaveChanges`, but not on `ExecuteUpdate`/`ExecuteDelete`, raw SQL, or writes from another service - clear those yourself via `IEFCacheServiceProvider`. Cache read-heavy reference data; never cache volatile or per-user data. ## Custom User Management in ASP.NET Core Web API (.NET 10) - URL: https://codewithmukesh.com/blog/custom-user-management-in-aspnet-core/ - Published: 2026-07-16 · Updated: 2026-07-16 - Category: dotnet, webapi-course · Tags: custom-user-management, aspnet-core-identity, user-management, dotnet-10, aspnet-core-web-api, usermanager, rolemanager, role-management, identityuser, admin-endpoints, email-confirmation, password-reset, user-lockout, minimal-api, api-security, user-crud, self-service-profile, ef-core Build a user-management layer in ASP.NET Core Web API: a custom user model, admin endpoints to list, lock, and role-manage users, and self-service profiles. ## Fastest Way to Bulk Insert Thousands of Rows in EF Core - URL: https://codewithmukesh.com/blog/ef-core-bulk-insert/ - Published: 2026-07-13 · Updated: 2026-07-13 - Category: dotnet, webapi-course · Tags: ef-core, entity-framework-core, efcore-10, dotnet-10, bulk-insert, ef-core-bulk-insert, addrange, savechanges, sqlbulkcopy, npgsql-copy, efcore-bulkextensions, batch-size, change-tracker, performance, benchmarks, postgresql, sql-server, data-import, csharp, web-api Benchmark the fastest way to bulk insert thousands of rows in EF Core 10 - AddRange vs EFCore.BulkExtensions vs SqlBulkCopy and Npgsql COPY, with real numbers. TL;DR. EF Core has no `ExecuteInsert` - inserts always go through `Add`/`AddRange` + `SaveChanges`. The killer mistake is calling `SaveChanges` inside the loop (one round trip per row). Use `AddRange` + one `SaveChanges` for up to a few thousand rows. Turn off `AutoDetectChangesEnabled` and chunk with `ChangeTracker.Clear()` for tens of thousands. For real throughput, use a bulk library like `EFCore.BulkExtensions` or Entity Framework Extensions (`BulkInsert`, `BulkMerge`), or go straight to the raw provider path - Npgsql binary `COPY` or `SqlBulkCopy` - which skip parameter binding and the change tracker entirely. Watch the parameter ceiling: 2,100 on SQL Server, 65,535 on PostgreSQL. ## Identity API Endpoints in ASP.NET Core: When to Use Them (.NET 10) - URL: https://codewithmukesh.com/blog/identity-endpoints-aspnet-core/ - Published: 2026-07-07 · Updated: 2026-07-07 - Category: dotnet, webapi-course · Tags: identity-api-endpoints, mapidentityapi, aspnet-core-identity, dotnet-10, authentication, bearer-token, jwt, addidentityapiendpoints, minimal-api, spa-authentication, blazor-authentication, web-api, api-security, identity, register-endpoint, refresh-token, cookie-authentication, opaque-token MapIdentityApi gives you register, login, and refresh for free in .NET 10. Here is exactly when to use Identity API endpoints and when to roll your own. ## EF Core Interceptors: The Complete Guide (.NET 10) - URL: https://codewithmukesh.com/blog/ef-core-interceptors/ - Published: 2026-07-05 · Updated: 2026-07-05 - Category: dotnet, webapi-course · Tags: ef-core, entity-framework-core, efcore-10, dotnet-10, aspnet-core, interceptors, savechangesinterceptor, isavechangesinterceptor, dbcommandinterceptor, audit-logging, audit-fields, soft-delete, dependency-injection, global-query-filters, change-tracker, data-access, database, csharp Learn EF Core interceptors in .NET 10 - all 7 types, how to register them, and how to add audit fields, soft deletes, and the current user without breaking dependency injection. TL;DR. EF Core has 7 interceptor interfaces. You'll use `ISaveChangesInterceptor` 90% of the time (audit fields, soft deletes) and `IDbCommandInterceptor` for SQL-level work (logging slow queries, adding hints). Register them with `optionsBuilder.AddInterceptors(...)`. To inject a scoped service like the current user, register the interceptor as `Scoped` and wire it through the `AddDbContext((sp, options) => ...)` overload. Interceptors can also *cancel* operations via `InterceptionResult.Suppress()`. Reach for one only when the behavior is cross-cutting and infrastructure-level. If it's business logic, use a domain event. If it's read filtering, use a global query filter. ## Bulk Operations in EF Core 10 - Benchmarking Insert, Update, and Delete Strategies - URL: https://codewithmukesh.com/blog/bulk-operations-efcore/ - Published: 2026-05-05 · Updated: 2026-07-01 - Category: dotnet, webapi-course · Tags: efcore, bulk-operations, bulk-insert, bulk-update, bulk-delete, executeupdate, executedelete, savechanges, performance, benchmarks, entity-framework, ef-core-10, dotnet-10, postgresql, batch-size, change-tracker, sqlbulkcopy, efcore-bulkextensions, dotnet-webapi-zero-to-hero-course, web-api Learn how to optimize bulk insert, update, and delete operations in EF Core 10. We benchmark 5 approaches with real numbers and a decision matrix for every scenario. TL;DR. For bulk operations in EF Core 10: use batched `SaveChanges` (default behavior, with `ChangeTracker.AutoDetectChangesEnabled = false`) for inserts of < 10K rows where you need interceptors and audit trails; use `ExecuteUpdate`/`ExecuteDelete` for set-based updates and deletes that don't need to load entities (5-50x faster); use `EFCore.BulkExtensions` with `SqlBulkCopy` for inserts of 10K+ rows (100x+ faster than batched `SaveChanges`). Set-based operations bypass the change tracker entirely - meaning interceptors, global query filters, and audit trails do not run. Plan for that explicitly. ## RESTful API Best Practices for .NET Developers (.NET 10) – The Complete 2026 Guide to Production-Ready APIs - URL: https://codewithmukesh.com/blog/restful-api-best-practices-for-dotnet-developers/ - Published: 2026-01-02 · Updated: 2026-06-24 - Category: dotnet, webapi-course · Tags: rest-api, webapi, api-design, http-methods, http-query-method, rfc-10008, status-codes, api-versioning, problem-details, rfc-9457, idempotency, optimistic-concurrency, etag, pagination, rate-limiting, hateoas, openapi, scalar, minimal-apis, dotnet-10, dotnet-webapi-zero-to-hero-course Build production-grade REST APIs in .NET 10. Resource naming, HTTP methods, status codes, versioning, idempotency, RFC 9457 Problem Details, caching, and concurrency - done right. ## Policy-Based Authorization in ASP.NET Core - A .NET 10 Guide - URL: https://codewithmukesh.com/blog/policy-based-authorization-in-aspnet-core/ - Published: 2026-06-23 · Updated: 2026-06-23 - Category: dotnet, webapi-course · Tags: policy-based-authorization, authorization, aspnet-core, dotnet-10, authorization-policy, authorization-handler, iauthorizationrequirement, iauthorizationrequirementdata, addauthorizationbuilder, fallback-policy, iauthorizationservice, requirements, handlers, claims, roles, minimal-api, api-security, web-api Build policy-based authorization in ASP.NET Core .NET 10 - requirements, handlers, AddAuthorizationBuilder, IAuthorizationRequirementData, fallback policies. ## IHostedService vs BackgroundService in .NET 10: Which to Use - URL: https://codewithmukesh.com/blog/ihostedservice-vs-backgroundservice-dotnet/ - Published: 2026-05-18 · Updated: 2026-06-22 - Category: dotnet, webapi-course · Tags: ihostedservice, backgroundservice, background tasks dotnet, dotnet 10, asp.net-core, generic host, background processing, scheduled jobs, worker service, hosted services, backgroundservice example, ihostedservice vs backgroundservice, executeasync, cancellation token, graceful shutdown, backgroundserviceexceptionbehavior, captive dependency, service scope factory, hangfire alternative, quartz alternative IHostedService vs BackgroundService in .NET 10. Side-by-side code, 5 production gotchas, decision matrix, and when to reach for Hangfire instead. ## Claims-Based Authorization in ASP.NET Core - A .NET 10 Guide - URL: https://codewithmukesh.com/blog/claims-based-authorization-in-aspnet-core/ - Published: 2026-06-21 · Updated: 2026-06-21 - Category: dotnet, webapi-course · Tags: claims-based-authorization, claims, authorization, aspnet-core, dotnet-10, claimsprincipal, claimsidentity, requireclaim, claims-transformation, iclaimstransformation, jwt, identity, aspnet-core-identity, minimal-api, api-security, custom-claims, access-control, web-api Master claims-based authorization in ASP.NET Core .NET 10 - ClaimsPrincipal anatomy, custom JWT claims, RequireClaim checks, and claims transformation. ## Role-Based Authorization in ASP.NET Core - A .NET 10 Guide - URL: https://codewithmukesh.com/blog/role-based-authorization-in-aspnet-core/ - Published: 2026-06-17 · Updated: 2026-06-17 - Category: dotnet, webapi-course · Tags: role-based-authorization, authorization, aspnet-core, dotnet-10, roles, requirerole, authorize-attribute, jwt, claims, identity, aspnet-core-identity, minimal-api, api-security, rbac, access-control, web-api, 403-forbidden, role-claims Implement role-based authorization in ASP.NET Core .NET 10 - add roles to JWTs, protect Minimal API endpoints with RequireRole, and fix roles that won't map. ## Essential AWS Services Every .NET Developer Should Master in 2026 - URL: https://codewithmukesh.com/blog/essential-aws-services-for-dotnet-developers/ - Published: 2024-12-14 · Updated: 2026-06-16 - Category: dotnet, aws, devops · Tags: aws, dotnet, dotnet-10, aws-lambda, amazon-s3, dynamodb, amazon-rds, ecs-fargate, amazon-sqs, amazon-sns, eventbridge, api-gateway, amazon-cognito, cloudwatch, amazon-bedrock, serverless, cloud, devops A practical 2026 guide to the AWS services every .NET developer should know - compute, storage, databases, messaging, security, and AI - now with .NET 10 Lambda support. ## Working with AWS S3 using ASP.NET Core (.NET 10) - Upload, Download & Delete Files - URL: https://codewithmukesh.com/blog/working-with-aws-s3-using-aspnet-core/ - Published: 2022-04-02 · Updated: 2026-06-13 - Category: dotnet, aws · Tags: aws, s3, amazon s3, storage, file upload, file download, presigned urls, aws sdk for dotnet, aws sdk v4, dotnet 10, aspnet core, minimal apis, web api, iam, cloud storage, dotnet on aws Learn how to upload, download, and delete files in AWS S3 using ASP.NET Core and .NET 10 with AWS SDK V4, Minimal APIs, presigned URLs, and IAM best practices. ## Validation with MediatR Pipeline Behavior and FluentValidation in .NET 10 - URL: https://codewithmukesh.com/blog/validation-with-mediatr-pipeline-behavior-and-fluentvalidation/ - Published: 2024-05-20 · Updated: 2026-06-07 - Category: dotnet, webapi-course · Tags: mediatr, mediatr-pipeline-behavior, fluentvalidation, cqrs, aspnet-core, dotnet-10, validation, request-validation, iexceptionhandler, problem-details, pipeline-behavior, minimal-api, ipipelinebehavior, clean-architecture, vertical-slice, web-api, exception-handling, dependency-injection Validate MediatR commands centrally in the pipeline with FluentValidation and IExceptionHandler in ASP.NET Core .NET 10 - clean handlers, one Problem Details response. ## FluentValidation in ASP.NET Core .NET 10 - Beyond Data Annotations - URL: https://codewithmukesh.com/blog/fluentvalidation-in-aspnet-core/ - Published: 2024-05-06 · Updated: 2026-06-07 - Category: dotnet · Tags: fluentvalidation, validation, aspnet-core, dotnet-10, request-validation, data-annotations, minimal-api, endpoint-filters, clean-architecture, async-validation, custom-validators, dto-validation, api-validation, problem-details, dependency-injection Data Annotations fall apart on complex rules. Use FluentValidation 12 in ASP.NET Core .NET 10 - endpoint filters, async validators, custom rules, and when to switch. ## Refresh Tokens in ASP.NET Core - A Complete .NET 10 Guide - URL: https://codewithmukesh.com/blog/refresh-tokens-in-aspnet-core/ - Published: 2020-05-27 · Updated: 2026-06-07 - Category: dotnet, webapi-course · Tags: refresh-tokens, refresh-token-rotation, jwt, jwt-authentication, aspnet-core, dotnet-10, authentication, authorization, token-rotation, reuse-detection, aspnet-core-identity, minimal-api, bearer-token, security, api-security, access-token, json-web-token, web-api Implement refresh tokens in ASP.NET Core .NET 10 - token rotation, reuse detection, revocation, and where to store them, built on top of JWT authentication. ## JWT Authentication in ASP.NET Core - A Complete .NET 10 Guide - URL: https://codewithmukesh.com/blog/jwt-authentication-in-aspnet-core/ - Published: 2020-05-25 · Updated: 2026-06-07 - Category: dotnet, webapi-course · Tags: jwt, jwt-authentication, aspnet-core, dotnet-10, authentication, authorization, json-web-token, bearer-token, aspnet-core-identity, role-based-authorization, minimal-api, jwtbearer, security, api-security, jsonwebtokenhandler, claims, identity, web-api Implement JWT authentication in ASP.NET Core .NET 10 - generate signed tokens with JsonWebTokenHandler, secure Minimal API endpoints, and add role-based authorization. ## Serilog in ASP.NET Core .NET 10 - Structured Logging Done Right - URL: https://codewithmukesh.com/blog/structured-logging-with-serilog-in-aspnet-core/ - Published: 2020-05-23 · Updated: 2026-06-07 - Category: dotnet · Tags: serilog, structured-logging, logging, asp.net-core, dotnet-10, serilog-sinks, seq, opentelemetry, enrichers, ilogger, serilog-configuration, serilog-best-practices, observability, log-levels, serilog-enrichers, correlation-id, distributed-tracing, monitoring Set up Serilog the right way in ASP.NET Core .NET 10 - sinks, enrichers, OpenTelemetry, correlation IDs, and production-ready config you can copy and paste. ## Repository Pattern in .NET 10 - Do You Really Need It? - URL: https://codewithmukesh.com/blog/repository-pattern-do-you-really-need-it/ - Published: 2026-05-18 · Updated: 2026-06-04 - Category: dotnet, webapi-course, architecture · Tags: repository pattern, repository pattern dotnet, repository pattern ef core, ef core 10, dotnet 10, dbcontext, unit of work, cqrs, specification pattern, asp.net-core, architecture, design patterns, iqueryable, testability, clean architecture, anti-patterns, repository pattern alternatives, when not to use repository pattern, thin query handlers, ddd I have shipped 50+ .NET APIs and most did not need a Repository Pattern. My sharp .NET 10 verdict on when to use it, when to skip it, what to use instead. ## Implementing Clean Architecture in .NET 10 - Step-by-Step Guide - URL: https://codewithmukesh.com/blog/clean-architecture-dotnet/ - Published: 2026-05-26 · Updated: 2026-05-26 - Category: dotnet, architecture, webapi-course · Tags: clean architecture, clean architecture dotnet, clean architecture .net 10, dotnet 10, ef core 10, aspire, dotnet aspire, minimal-api, ddd, domain-driven-design, dbcontext, repository pattern, central package management, editorconfig, onion architecture, software architecture, asp.net-core, postgresql, scalar, solid, dependency-injection, web-api, dotnet-webapi-zero-to-hero-course A complete, junior-friendly guide to Clean Architecture in .NET 10. Build a movie API across Domain, Application, Infrastructure, and API layers with EF Core and Aspire. TL;DR. Clean Architecture in .NET 10 means four projects with a strict dependency direction: `Domain` (entities and rules, zero dependencies) ← `Application` (use cases, DTOs, an `IApplicationDbContext` interface) ← `Infrastructure` (EF Core `DbContext`, configurations) ← `Api` (Minimal API endpoints, the composition root). Use `DbContext` directly through an interface instead of a repository pattern. Pin versions with Central Package Management, share style with `.editorconfig`, and orchestrate the API plus PostgreSQL with .NET Aspire. The full source builds green and ships with an EF Core migration. ## Rate Limiting in ASP.NET Core (.NET 10) - Complete Guide - URL: https://codewithmukesh.com/blog/rate-limiting-aspnet-core/ - Published: 2026-05-21 · Updated: 2026-05-21 - Category: dotnet, webapi-course · Tags: rate-limiting, aspnet-core, aspnet-core-rate-limiting, dotnet-10, ratelimiter, token-bucket, fixed-window, sliding-window, concurrency-limiter, partitioned-rate-limiter, 429-too-many-requests, retry-after, problem-details, redis-rate-limiting, multi-tenant, api-protection, minimal-api, middleware, distributed-systems, dotnet-webapi-zero-to-hero-course Production-grade rate limiting in ASP.NET Core .NET 10. All 4 algorithms, partitioning, Redis backplane, OnRejected with Retry-After, multi-tenant tiers, and a real decision matrix. TL;DR. For ASP.NET Core .NET 10, register rate limiting with `builder.Services.AddRateLimiter(options => { ... })` and call `app.UseRateLimiter()` after `UseRouting()` if you use endpoint-level policies. Set `options.RejectionStatusCode = StatusCodes.Status429TooManyRequests` - the default is 503 which is wrong. Use Token Bucket as the default for public APIs, Sliding Window when you need precise rolling enforcement, Fixed Window for cheap per-minute caps, and Concurrency Limiter to cap in-flight work on expensive endpoints. Partition by user, IP, or API key with `PartitionedRateLimiter.Create(...)`. The built-in middleware is in-memory and per-instance, so behind a load balancer the effective limit is `configured limit x instance count`. For multi-node enforcement, use a Redis backplane via `RedisRateLimiting.AspNetCore` (1.2.0). Always set `Retry-After` from `MetadataName.RetryAfter` in your `OnRejected` callback - it is the contract well-behaved clients depend on. ## 10 .NET 10 API Anti-Patterns That Break Production (And How to Fix Them) - URL: https://codewithmukesh.com/blog/anti-patterns-to-avoid-dotnet-apis/ - Published: 2026-05-20 · Updated: 2026-05-20 - Category: dotnet, webapi-course · Tags: anti-patterns, dotnet 10, aspnet core, webapi, async await, httpclient, dependency injection, exception handling, fat controller, repository pattern, ef core, native aot, ihttpclientfactory, ihostedservice, iexceptionhandler, code smell, best practices, clean code, captive dependency, service locator 10 ASP.NET Core anti-patterns that break production in .NET 10 - async void, sync-over-async, fat controllers, runtime-reflection mappers in AOT, and the 2026 ones. ## ASP.NET Core 10 Web API CRUD with EF Core - Complete .NET 10 Tutorial - URL: https://codewithmukesh.com/blog/aspnet-core-webapi-crud-with-entity-framework-core-full-course/ - Published: 2025-02-05 · Updated: 2026-05-19 - Category: dotnet, webapi-course · Tags: efcore, crud, postgresql, docker, minimal-api, ddd, domain-driven-design, entity-framework, database, migrations, code-first, web-api, rest-api, scalar, openapi, clean-architecture, dto, dotnet-10, ef-core-10, aspnet-core, dotnet-webapi-zero-to-hero-course Build a production-ready .NET 10 Web API with EF Core 10 and PostgreSQL. CRUD operations, DDD, Minimal APIs, Scalar, code-first migrations, and best practices. TL;DR. Building a CRUD Web API in .NET 10 with EF Core 10 means: scaffold with `dotnet new web`, register EF Core via `AddDbContext`, run PostgreSQL 17 in Docker Compose, model the domain with `IEntityTypeConfiguration` for clean Fluent API mappings, build endpoints with Minimal APIs (not Controllers) for simple CRUD, use `AsNoTracking()` on read queries to cut allocations by ~50% and run 3-5x faster (benchmarks below), return DTOs at the API boundary, and manage schema with `dotnet ef migrations` from the deployment pipeline (never `EnsureCreated` in production). This article walks through the complete implementation - decision matrices, real benchmarks, production gotchas, and the full source code. ## 10 EF Core Performance Mistakes (and How to Fix Them) in .NET 10 - URL: https://codewithmukesh.com/blog/ef-core-performance-mistakes/ - Published: 2026-05-16 · Updated: 2026-05-16 - Category: dotnet, webapi-course · Tags: ef-core, entity-framework-core, efcore-10, dotnet-10, aspnet-core, performance, optimization, n-plus-one, asnotracking, executeupdate, executedelete, bulk-operations, compiled-queries, lazy-loading, eager-loading, cartesian-explosion, database-indexes, pagination, query-optimization, csharp 10 EF Core performance mistakes that ship to production - N+1 queries, missing projections, lazy loading, AsNoTracking, bulk ops - and how to fix each in .NET 10. TL;DR. The 10 EF Core performance mistakes that ship to production: (1) N+1 queries, (2) returning full entities instead of projections, (3) forgetting `AsNoTracking` on read-only queries, (4) leaving lazy loading on in production, (5) cartesian explosion from multiple `Include` calls, (6) filtering after materialization with `.ToList()` before `.Where()`, (7) loading entities just to update or delete them in bulk, (8) no pagination on list endpoints, (9) missing database indexes on filtered or joined columns, and (10) not using compiled queries on hot paths. Each one is fixable in under 10 lines of code. Together, they routinely turn 4-second endpoints into 80-millisecond endpoints. ## API Key Authentication in ASP.NET Core (.NET 10) - Complete Guide - URL: https://codewithmukesh.com/blog/api-key-authentication-aspnet-core/ - Published: 2026-05-08 · Updated: 2026-05-08 - Category: dotnet, webapi-course · Tags: api-key-authentication, api-key, authentication, aspnet-core, dotnet-10, minimal-api, authentication-handler, x-api-key, api-security, ef-core-10, hybridcache, scalar, openapi, problem-details, rfc-9457, key-rotation, hashed-api-keys, fixedtimeequals, key-prefix, dotnet-webapi-zero-to-hero-course Production-grade API key authentication in ASP.NET Core .NET 10. Hashed keys, DB-backed store, AuthenticationHandler, decision matrix, full source repo. TL;DR. For ASP.NET Core .NET 10, implement API key authentication as a custom `AuthenticationHandler` registered with `AddAuthentication("ApiKey")`. Read the key from the `X-API-Key` header. Store keys in a database as SHA-256 hashes, never plaintext - and use a prefix convention (`sk_live_…`) so leaked keys are identifiable in logs. Compare hashes with `CryptographicOperations.FixedTimeEquals` to prevent timing attacks. Cache validation with HybridCache (TTL 60-300 seconds) for sub-millisecond hot-path lookups. Return RFC 9457 ProblemDetails with HTTP 401 when no key is provided and HTTP 403 when the key is valid but lacks the required scope. Use API keys for server-to-server clients; for human users, use JWT or OAuth. Skip middleware-only implementations - `AuthenticationHandler` plugs into `[Authorize]`, OpenAPI, and the rest of the ASP.NET Core auth pipeline for free. ## Optimistic Concurrency in EF Core 10: ASP.NET Core Web API Guide - URL: https://codewithmukesh.com/blog/concurrency-control-optimistic-locking-efcore/ - Published: 2026-05-05 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: efcore, concurrency-control, optimistic-locking, optimistic-concurrency, rowversion, concurrency-token, dbupdateconcurrencyexception, ef-core-10, dotnet-10, postgresql, xmin, conflict-resolution, race-condition, web-api, asp-net-core, entity-framework, 409-conflict, problem-details, retry-pattern, dotnet-webapi-zero-to-hero-course Learn how to prevent data conflicts in ASP.NET Core Web API using optimistic concurrency with EF Core 10. RowVersion tokens, conflict resolution, retry strategies, and a decision matrix. TL;DR. Optimistic concurrency in EF Core 10 is the recommended default for ASP.NET Core Web APIs: add a `uint RowVersion` property to the entity, configure with `entity.Property(p => p.RowVersion).IsRowVersion()`, return the version in GET responses, set the original value from the client request before `SaveChangesAsync`, and catch `DbUpdateConcurrencyException` to return HTTP 409 Conflict with current database values. PostgreSQL maps this to `xmin` for free (no migration). Use optimistic for 90% of CRUD; reach for pessimistic (`SELECT FOR UPDATE`) only for financial transactions. The retry-loop gotcha: always `context.Entry(entity).State = EntityState.Detached` before re-reading - otherwise `FindAsync` returns the cached stale entity and you get an infinite exception loop. ## Cleaning Migrations in EF Core 10 - Squash, Reset & Manage History - URL: https://codewithmukesh.com/blog/cleaning-migrations-efcore/ - Published: 2026-04-28 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: efcore, migrations, squash-migrations, reset-migrations, ef-core-10, dotnet-10, database-migrations, migration-history, efmigrationshistory, migration-cleanup, code-first, merge-conflicts, team-development, migration-bundles, postgresql, aspnetcore, web-api, dotnet-webapi-zero-to-hero-course, devops, schema-management Learn when and how to clean EF Core 10 migrations. Squash, reset, remove, resolve team conflicts, plus a decision matrix for the right cleanup strategy. TL;DR. EF Core 10 has no built-in migration squash command (GitHub issue #2174 has been open since 2015). To squash safely: back up the database, ensure all environments are on the latest migration, clear the `__EFMigrationsHistory` table, delete the `Migrations/` folder, run `dotnet ef migrations add InitialCreate` to generate one fresh migration, then `dotnet ef migrations script` to get the INSERT statement for the history table and run it on every database. The whole process takes 15 minutes and zero data is lost. For removing a single migration use `dotnet ef migrations remove`; for rolling back several use `dotnet ef database update `. Add `dotnet ef migrations has-pending-model-changes` to CI to catch missing migrations before deploy. ## Tracking vs. No-Tracking Queries in EF Core 10 - When to Use Each - URL: https://codewithmukesh.com/blog/tracking-vs-no-tracking-queries-efcore/ - Published: 2026-04-01 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: efcore, tracking, no-tracking, asnotracking, change-tracker, performance, benchmarks, entity-framework, ef-core-10, dotnet-10, dbcontext, identity-resolution, web-api, minimal-api, postgresql, query-optimization, csharp, dotnet-webapi-zero-to-hero-course Tracking vs. no-tracking queries in EF Core 10 - benchmarks, memory analysis, AsNoTrackingWithIdentityResolution, and when to use each in ASP.NET Core Web APIs. TL;DR. EF Core 10 tracks every entity returned from a query by default - building a snapshot for change detection on `SaveChanges()`. For read-only queries (GET endpoints, reports, dashboards), this overhead is wasted: it allocates ~50% more memory and runs 2.9-5.2x slower (real benchmarks below). The fix is `AsNoTracking()` - one method call. Use `AsNoTracking()` on every read-only query, `AsNoTrackingWithIdentityResolution()` when you need entity identity resolution but no tracking, and default tracking only when you'll modify and `SaveChanges()` the result. The mistake most teams make is leaving tracking on by default for entire endpoints they never modify. ## Seeding Initial Data in EF Core 10 - HasData vs UseSeeding - URL: https://codewithmukesh.com/blog/seeding-initial-data-efcore/ - Published: 2026-03-23 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: efcore, data-seeding, hasdata, useseeding, useasyncseeding, entity-framework, ef-core-10, dotnet-10, postgresql, migrations, seed-data, initial-data, database, web-api, aspnetcore, dotnet-webapi-zero-to-hero-course, onmodelcreating, code-first, lookup-data, idempotent-seeding Seed initial data in EF Core 10 with HasData, UseSeeding, and Program.cs. Includes decision matrix, FK seeding, environment strategies, and pitfalls. TL;DR. EF Core 10 has three data-seeding strategies: `HasData` for static reference data baked into migrations (countries, currencies, lookup tables), `UseSeeding`/`UseAsyncSeeding` for runtime data that should exist after `EnsureCreated` or `Database.Migrate()` (default admin account, demo data), and custom code in `Program.cs` when you need DI, configuration, or async repositories. Default to `HasData` for anything that won't change, `UseSeeding` for environment-aware defaults, and `Program.cs` for everything else. Never use `HasData` for data with foreign keys to volatile rows or for environment-specific config - both will fight migrations and rebuild on every run. ## Multiple DbContext in EF Core 10 - Scenarios, Setup & Migrations - URL: https://codewithmukesh.com/blog/multiple-dbcontext-efcore/ - Published: 2026-03-21 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: efcore, dbcontext, multiple-databases, ef-core-10, dotnet-10, migrations, schema-separation, dependency-injection, modular-monolith, postgresql, web-api, minimal-api, transactions, bounded-context, read-replica, connection-string, csharp, dotnet-webapi-zero-to-hero-course When and how to use multiple DbContext in EF Core 10. Multi-database setup, schema separation, migrations, transactions, and modular monolith patterns. TL;DR. Multiple DbContexts in EF Core 10 are appropriate when: you have bounded contexts in a modular monolith, a separate read replica for reporting, multi-database scenarios (writes to one, analytics to another), or strict schema isolation within a single DB. Register each context with its own connection: `AddDbContext` and `AddDbContext`. Specify migrations assemblies explicitly to avoid the "More than one DbContext was found" error: `dotnet ef migrations add ... --context AppDbContext`. For cross-context transactions, share a `DbConnection` and wrap both saves in a single `TransactionScope`. The mistake most teams make is splitting the DbContext too early - one context per aggregate is overkill; one per bounded context is right. ## Soft Deletes in EF Core 10 - Interceptors, Named Filters & Cascade Delete - URL: https://codewithmukesh.com/blog/soft-deletes-efcore/ - Published: 2026-03-11 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: efcore, soft-delete, logical-delete, savechangesinterceptor, global-query-filters, named-query-filters, entity-framework, dotnet-10, ef-core-10, isdeleted, cascade-soft-delete, undo-delete, restore-deleted-records, webapi, postgresql, data-access, dotnet-webapi-zero-to-hero-course, interceptors, change-tracker, audit-trail Implement soft deletes in EF Core 10 using SaveChangesInterceptor, named query filters, cascade soft delete, undo/restore, and filtered unique indexes in .NET 10. TL;DR. The recommended way to implement soft delete in EF Core 10 is: add an `IsDeleted` flag (and optionally `DeletedAt`) to entities, register a `SaveChangesInterceptor` that converts `DELETE` operations into `UPDATE IsDeleted = true`, and apply a global query filter (`HasQueryFilter(e => !e.IsDeleted)`) to hide deleted rows automatically. Use `IgnoreQueryFilters()` on admin queries that need to see deleted records. The mistake most teams make is implementing soft delete only on the parent entity - cascade soft delete on related entities requires interceptor logic for the entire object graph, or set `OnDelete(DeleteBehavior.Restrict)` and handle children explicitly. ## Global Query Filters in EF Core - Soft Delete, Multi-Tenancy & Named Filters in .NET 10 - URL: https://codewithmukesh.com/blog/global-query-filters-efcore/ - Published: 2026-03-10 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: efcore, global-query-filters, soft-delete, multi-tenancy, hasqueryfilter, named-query-filters, entity-framework, dotnet-10, ef-core-10, ignorequeryfilters, webapi, postgresql, data-access, query-optimization, dotnet-webapi-zero-to-hero-course, ientitytypeconfiguration, fluent-api Master global query filters in EF Core 10 with named filters, soft delete, multi-tenancy, IgnoreQueryFilters, and performance tips. TL;DR. Global query filters in EF Core 10 let you define `WHERE` clauses once at the model level and have them apply to every query for that entity automatically. Use `entity.HasQueryFilter(e => !e.IsDeleted)` for soft delete and `entity.HasQueryFilter(e => e.TenantId == _tenantProvider.Current)` for multi-tenancy. EF Core 10 introduces named filters - call `HasQueryFilter("SoftDelete", ...)` and `HasQueryFilter("Tenant", ...)` to define multiple independent filters per entity, then disable individually with `IgnoreQueryFilters(["SoftDelete"])`. Use `IgnoreQueryFilters()` (no args) on admin queries that need to see all rows. The mistake most teams make is using a single anonymous filter with `&&` for multiple concerns - which forces all-or-nothing disable. ## EF Core 10 Relationships - One-to-One, One-to-Many & Many-to-Many - URL: https://codewithmukesh.com/blog/ef-core-relationships-one-to-one-one-to-many-many-to-many/ - Published: 2026-02-11 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: efcore, relationships, one-to-many, many-to-many, one-to-one, fluent-api, navigation-properties, cascade-delete, entity-framework, webapi, dotnet-webapi-zero-to-hero-course, foreign-key, principal-entity, dependent-entity, join-entity, database, postgresql, dotnet-10 Model real relationships in EF Core - one-to-one, one-to-many, and many-to-many with Fluent API. Code examples, cascade delete behavior, and the pitfalls to avoid. TL;DR. EF Core 10 supports three relationship types via Fluent API: one-to-one (`HasOne(...).WithOne(...)` with `HasForeignKey`), one-to-many (`HasOne(...).WithMany(...)` with `HasForeignKey`), and many-to-many (auto-generated join table for simple cases, explicit join entity with composite key when you need payload data). Configure each relationship from exactly one side, always specify `OnDelete` behavior explicitly (don't trust the defaults), and add an index on every foreign key. The mistake most teams make is using cascade delete by default - one wrong delete can wipe out half your database. ## Configuring Entities with Fluent API in EF Core 10 - Best Practices - URL: https://codewithmukesh.com/blog/fluent-api-entity-configuration-efcore/ - Published: 2026-01-19 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: efcore, fluent-api, entity-configuration, ef-core-10, dotnet-10, ientitytypeconfiguration, data-annotations, decimal-precision, value-conversions, owned-types, global-query-filters, many-to-many, self-referencing, composite-keys, cascade-delete, indexing, webapi, aspnet-core, domain-driven-design, dotnet-webapi-zero-to-hero-course Entity configuration is where your domain meets the database. Learn Fluent API in EF Core 10 - why it beats Data Annotations for complex scenarios, how to organize configurations with IEntityTypeConfiguration, configure complex relationships, and avoid common mistakes. TL;DR. In EF Core 10, configure entities with the Fluent API via `IEntityTypeConfiguration` classes registered with `modelBuilder.ApplyConfigurationsFromAssembly(...)`. Use Fluent API (not Data Annotations) for: decimal precision, indexes, cascade behavior, composite keys, value conversions, owned types, and any non-trivial relationship. Data Annotations are fine for simple `[Required]` and `[MaxLength]` on small models. Default to one configuration class per entity in a `Persistence/Configurations/` folder. The mistake most teams make is configuring both ends of a relationship - configure each relationship from exactly one side. ## ASP.NET Core Dropped Swagger - Here's What Replaced It in .NET 10 - URL: https://codewithmukesh.com/blog/dotnet-swagger-alternatives-openapi/ - Published: 2025-01-22 · Updated: 2026-05-05 - Category: dotnet, webapi-course · Tags: dotnet, swagger, openapi, openapi-3-1, scalar, swashbuckle, nswag, dotnet-10, aspnet-core-10, minimal-api, native-aot, api-documentation, redoc, postman, microsoft-aspnetcore-openapi, transformers, schema, webapi, dotnet-webapi-zero-to-hero-course .NET 10 generates OpenAPI 3.1 natively via Microsoft.AspNetCore.OpenApi - no Swashbuckle. Compare native OpenAPI vs Scalar vs Swashbuckle vs NSwag with a decision matrix and real config samples. TL;DR. .NET 10 ships with native OpenAPI 3.1 document generation via the `Microsoft.AspNetCore.OpenApi` package - no Swashbuckle needed. The recommended stack for .NET 10 Web APIs is: `Microsoft.AspNetCore.OpenApi` for document generation + Scalar for the UI. Scalar (`Scalar.AspNetCore` 2.14.x) is the modern Swagger UI replacement - cleaner, faster, with better request/response visualization and dark mode by default. Swashbuckle 10.x still works on .NET 10 but is no longer in the default template. Use NSwag if you need client SDK generation; use Redoc if you publish public docs. The mistake most teams make is keeping Swashbuckle on new .NET 10 projects out of habit - the native pipeline is genuinely better. ## Docker Guide for .NET 10 Developers - Step-by-Step Tutorial - URL: https://codewithmukesh.com/blog/docker-guide-for-dotnet-developers/ - Published: 2024-07-07 · Updated: 2026-05-05 - Category: dotnet, docker · Tags: docker, container, dotnet-10, dockerfile, docker-compose, multi-stage-build, postgresql, containerization, docker-desktop, docker-cli, docker-hub, aspnet-core, webapi, devops, ci-cd, chiseled-images, sdk-containers, image-optimization, docker-volumes, docker-network Comprehensive Docker guide for .NET 10 developers. Containerize .NET apps, multi-stage builds, Docker Compose with PostgreSQL, and SDK-based containerization without a Dockerfile. TL;DR. Docker packages your .NET 10 application with all its dependencies into a portable container image that runs identically across dev, staging, and production. The recommended approach for .NET 10: write a multi-stage Dockerfile (SDK image for build, ASP.NET runtime image for run) to keep final images under 100 MB, use `mcr.microsoft.com/dotnet/aspnet:10.0` as the runtime base (or chiseled images for ~25 MB final size), define multi-container setups with Docker Compose (typically API + PostgreSQL), and run as a non-root user in production. .NET 7+ also supports Dockerfile-less containerization via the SDK (`dotnet publish /t:PublishContainer`) - useful when your build is uniform and you don't need custom layers. The mistake most teams make is using `mcr.microsoft.com/dotnet/sdk:10.0` as the runtime image - it's 5x larger than the runtime image and exposes the build toolchain in production. ## Running Migrations in EF Core 10 - 5 Ways Compared - URL: https://codewithmukesh.com/blog/running-migrations-efcore/ - Published: 2026-04-27 · Updated: 2026-04-27 - Category: dotnet, webapi-course · Tags: efcore, migrations, database-migrations, ef-core-10, dotnet-10, dotnet-ef, migration-bundles, sql-scripts, ensurecreated, postgresql, ci-cd, production-deployment, web-api, aspnetcore, dotnet-webapi-zero-to-hero-course, devops, docker Learn 5 ways to apply EF Core 10 migrations: CLI, Migrate(), SQL scripts, migration bundles, and EnsureCreated. Includes a decision matrix and production checklist. ## Build Your Own CQRS Dispatcher in .NET 10 (No MediatR) - URL: https://codewithmukesh.com/blog/cqrs-without-mediatr/ - Published: 2026-04-12 · Updated: 2026-04-12 - Category: dotnet · Tags: cqrs, mediatr alternative, dispatcher, dotnet 10, aspnet core, pipeline behavior, frozendictionary, valuetask, native aot, clean architecture, vertical slice architecture, minimal api, benchmark, mediator pattern, command query separation, fluentvalidation, hybridcache, in-process messaging, migration MediatR went commercial. Build your own CQRS dispatcher in .NET 10 with pipeline behaviors, AOT support, and a FrozenDictionary core that benchmarks 4x faster than MediatR. ## HybridCache in ASP.NET Core .NET 10 - Complete Guide - URL: https://codewithmukesh.com/blog/hybridcache-in-aspnet-core/ - Published: 2026-04-06 · Updated: 2026-04-06 - Category: dotnet, webapi-course · Tags: hybridcache, caching, aspnet-core, dotnet-10, redis, stampede-protection, tag-based-invalidation, idistributedcache, imemorycache, benchmarkdotnet, performance, cache-aside-pattern, ef-core-10, postgresql, scalar, web-api, minimal-api, docker, dotnet-webapi-zero-to-hero-course Master HybridCache in ASP.NET Core .NET 10. BenchmarkDotNet results, stampede protection demo, tag-based invalidation, Redis L2 setup, and migration from IDistributedCache. ## Distributed Caching in ASP.NET Core with Redis .NET 10 - Complete Guide - URL: https://codewithmukesh.com/blog/distributed-caching-in-aspnet-core-with-redis/ - Published: 2024-06-04 · Updated: 2026-04-04 - Category: dotnet, webapi-course · Tags: redis, distributed-caching, idistributedcache, aspnet-core, dotnet-10, caching, docker, cache-invalidation, hybridcache, stackexchange-redis, performance, cache-aside-pattern, ef-core-10, postgresql, scalar, web-api, minimal-api, redis-insight, dotnet-webapi-zero-to-hero-course Implement distributed caching in ASP.NET Core with Redis and .NET 10. Docker setup, IDistributedCache extensions, BenchmarkDotNet results, and HybridCache migration path. ## In-Memory Caching in ASP.NET Core .NET 10 - Complete Guide - URL: https://codewithmukesh.com/blog/in-memory-caching-in-aspnet-core/ - Published: 2024-05-27 · Updated: 2026-04-04 - Category: dotnet, webapi-course · Tags: caching, in-memory-caching, imemorycache, aspnet-core, dotnet-10, cache-invalidation, benchmarkdotnet, performance, hybridcache, distributed-caching, redis, memory-cache, cache-aside-pattern, minimal-api, postgresql, ef-core-10, scalar, web-api, dotnet-webapi-zero-to-hero-course Master in-memory caching in ASP.NET Core with .NET 10. BenchmarkDotNet results, IMemoryCache deep dive, cache invalidation, and decision matrix vs Redis and HybridCache. ## CQRS with MediatR in ASP.NET Core - Complete Guide - URL: https://codewithmukesh.com/blog/cqrs-and-mediatr-in-aspnet-core/ - Published: 2024-05-14 · Updated: 2026-04-03 - Category: dotnet · Tags: cqrs, mediatr, aspnet core, dotnet 10, mediator pattern, vertical slice architecture, minimal api, entity framework core, clean architecture, design patterns, web api, command query separation, notifications, in-process messaging, event driven, scalability Learn how to implement CQRS with MediatR in ASP.NET Core (.NET 10). Build clean, scalable APIs with command-query separation, pipeline behaviors, and notifications. ## 45 .NET Web API Interview Questions That Actually Get Asked in 2026 - URL: https://codewithmukesh.com/blog/dotnet-webapi-interview-questions/ - Published: 2026-03-23 · Updated: 2026-03-23 - Category: dotnet · Tags: interview-questions, webapi, aspnetcore, efcore, dotnet-10, csharp, interview-prep, dotnet-interview, web-api-interview, senior-dotnet, junior-dotnet, middleware, dependency-injection, jwt, authentication, caching, testing, architecture, system-design, minimal-api, ef-core-10, performance, docker, ci-cd 45 practical .NET Web API interview questions with expert answers, code examples, and red flags. ASP.NET Core, EF Core 10, auth, caching, architecture. ## Options Pattern in ASP.NET Core - IOptions vs Snapshot vs Monitor - URL: https://codewithmukesh.com/blog/options-pattern-in-aspnet-core/ - Published: 2023-10-10 · Updated: 2026-03-07 - Category: dotnet, webapi-course · Tags: options-pattern, ioptions, ioptionssnapshot, ioptionsmonitor, appsettings, configuration, asp.net-core, dotnet-10, validate-configuration, bind-configuration, data-annotations, startup-validation, strongly-typed-configuration, webapi, dotnet-webapi-zero-to-hero-course, options-validation, configuration-binding, dependency-injection IOptions won't reload your config - IOptionsMonitor will. Bind, validate, and hot-reload configuration in ASP.NET Core .NET 10, and know which interface to use. ## ASP.NET Core Filters in .NET 10 - All 6 Types & Execution Order - URL: https://codewithmukesh.com/blog/filters-in-aspnet-core/ - Published: 2025-04-05 · Updated: 2026-03-06 - Category: dotnet, webapi-course · Tags: filters, action-filters, resource-filters, exception-filters, result-filters, endpoint-filters, asp.net-core, dotnet-10, webapi, authorization-filters, iactionfilter, iexceptionfilter, servicefilter, typefilter, minimal-apis, cross-cutting-concerns, dotnet-webapi-zero-to-hero-course, filter-pipeline Master all 6 filter types in ASP.NET Core .NET 10 - authorization, resource, action, exception, result, and endpoint filters with decision matrix and code. ## ASP.NET Core Middleware in .NET 10 - The Order Bug That Breaks Auth - URL: https://codewithmukesh.com/blog/middlewares-in-aspnet-core/ - Published: 2025-03-26 · Updated: 2026-03-06 - Category: dotnet, webapi-course · Tags: middlewares, middleware, asp.net-core, dotnet-10, request-pipeline, http, webapi, custom-middleware, imiddleware, middleware-vs-filters, endpoint-filters, short-circuiting, middleware-order, middleware-best-practices, cross-cutting-concerns, dotnet-webapi-zero-to-hero-course, request-delegate, httpcontext Get middleware order wrong and auth fails silently. Learn ASP.NET Core middleware in .NET 10 - execution order, custom middleware, IMiddleware, and short-circuiting. ## Containerize .NET 10 Apps Without a Dockerfile - dotnet publish Containers - URL: https://codewithmukesh.com/blog/containerize-dotnet-without-dockerfile/ - Published: 2023-02-10 · Updated: 2026-03-03 - Category: dotnet, docker, webapi-course · Tags: dotnet-publish-container, containerize-dotnet, dockerfile-alternative, dotnet-sdk-container, docker, container-images, alpine-containers, chiseled-containers, github-actions, cicd, container-registry, podman, multi-arch-containers, production-hardening, dotnet-10, aspnet-core, devops, dotnet-webapi-zero-to-hero-course, web-api, container-optimization Containerize .NET 10 apps without a Dockerfile using dotnet publish. Image size benchmarks, Alpine vs Chiseled, CI/CD with GitHub Actions, and more. ## .slnx vs .sln in .NET 10 - Migrate to the New Solution Format - URL: https://codewithmukesh.com/blog/slnx-solution-format-dotnet/ - Published: 2026-02-27 · Updated: 2026-02-27 - Category: dotnet · Tags: dotnet 10, slnx, solution file, sln to slnx, dotnet migrate, visual studio, jetbrains rider, dotnet cli, xml solution format, git merge conflicts, ci cd, github actions, msbuild, project structure, developer tooling, dotnet new sln, breaking change, team adoption sln vs slnx: what's different in the new XML solution format, which one .NET 10 uses by default, and how to migrate - with CI/CD compatibility and team adoption strategy. ## GitFlow vs GitHub Flow vs Trunk-Based Development Guide - URL: https://codewithmukesh.com/blog/git-workflows-gitflow-vs-github-flow-vs-trunk-based-development/ - Published: 2026-02-26 · Updated: 2026-02-26 - Category: architecture · Tags: git, devops, ci-cd, branching, version-control, gitflow, github-flow, trunk-based-development, git-branching-strategy, feature-flags, pull-requests, code-review, dora-metrics, continuous-delivery, continuous-integration, deployment-strategy, merge-conflicts, software-development Compare GitFlow, GitHub Flow, and Trunk-Based Development with real-world scenarios, DORA metrics, and decision guidance. Pick the right Git workflow for your team. ## Pagination, Sorting & Searching in ASP.NET Core Web API - URL: https://codewithmukesh.com/blog/pagination-sorting-searching-aspnet-core-webapi/ - Published: 2026-02-16 · Updated: 2026-02-16 - Category: dotnet, webapi-course · Tags: pagination, sorting, searching, filtering, ef-core, entity-framework, iqueryable, skip-take, keyset-pagination, cursor-pagination, linq, postgresql, web-api, rest-api, minimal-api, query-optimization, performance, dotnet-10 Implement pagination, sorting, and searching in ASP.NET Core Web API with EF Core 10. Offset & keyset pagination, dynamic sorting, and performance tips. ## dotnet run app.cs - Run C# Without a Project File in .NET 10 - URL: https://codewithmukesh.com/blog/file-based-apps-dotnet-10/ - Published: 2026-01-26 · Updated: 2026-01-26 - Category: dotnet, webapi-course · Tags: dotnet 10, file-based apps, dotnet-webapi-zero-to-hero-course, scripting Run C# like Python with dotnet run app.cs in .NET 10. Complete guide with directives, practical examples, Native AOT publishing, and CLI reference. ## .NET Aspire Tutorial - Build Cloud-Ready Apps with .NET 10 and PostgreSQL - URL: https://codewithmukesh.com/blog/aspire-for-dotnet-developers-deep-dive/ - Published: 2025-11-20 · Updated: 2026-01-20 - Category: dotnet, architecture · Tags: aspire, cloud-ready, dotnet 10, postgresql, tutorial, opentelemetry, distributed-apps Step-by-step .NET Aspire tutorial for .NET developers. Build a Book Store API with PostgreSQL, EF Core & Aspire 13. Includes source code, Aspire dashboard walkthrough, observability setup & deployment tips. ## Minimal APIs in ASP.NET Core .NET 10 - Routing, Binding & Validation - URL: https://codewithmukesh.com/blog/minimal-apis-aspnet-core/ - Published: 2026-01-15 · Updated: 2026-01-15 - Category: dotnet, webapi-course · Tags: minimal-apis, webapi, aspnetcore, dotnet-webapi-zero-to-hero-course Build production-ready Minimal APIs in ASP.NET Core .NET 10 - route handlers, parameter binding, route groups, endpoint filters, TypedResults, and built-in validation. ## ASP.NET Core Configuration - appsettings, Env Vars & User Secrets - URL: https://codewithmukesh.com/blog/environment-based-configuration-aspnet-core/ - Published: 2026-01-12 · Updated: 2026-01-12 - Category: dotnet, webapi-course · Tags: configuration, appsettings, environment variables, launch profiles, user secrets, webapi, dotnet-webapi-zero-to-hero-course Manage config across Dev, Staging, and Production in ASP.NET Core - appsettings.json, environment variables, launch profiles, and User Secrets, done the right way. ## Understanding HTTP Status Codes – Returning Proper API Responses in ASP.NET Core - URL: https://codewithmukesh.com/blog/http-status-codes-aspnet-core-api-responses/ - Published: 2026-01-11 · Updated: 2026-01-11 - Category: dotnet, webapi-course · Tags: rest, webapi, http, api-design, dotnet-webapi-zero-to-hero-course Master HTTP status codes for your ASP.NET Core Web APIs. Learn when to use 200, 201, 204, 400, 401, 403, 404, 409, 422, 500, and more - with practical code examples for both Minimal APIs and Controllers. ## S3 Versioning in .NET - Protect Against Accidental Deletes and Recover Any File Version - URL: https://codewithmukesh.com/blog/s3-versioning-restore-dotnet/ - Published: 2025-12-30 · Updated: 2025-12-30 - Category: dotnet, aws · Tags: s3, versioning, storage, backup, disaster-recovery Learn how to enable S3 versioning, list previous versions, restore deleted files, and permanently delete versions using .NET. Build a minimal API that gives you complete control over your S3 object history. ## AWS Lambda SnapStart for .NET – Cut Cold Starts Significantly - URL: https://codewithmukesh.com/blog/lambda-snapstart-dotnet/ - Published: 2025-12-29 · Updated: 2025-12-29 - Category: dotnet, aws · Tags: lambda, snapstart, cold-starts, serverless, performance Stop losing users to Lambda cold starts. Learn how to enable SnapStart for .NET functions, use runtime hooks for optimization, and see real benchmark data showing 58-94% faster cold starts. ## Automate RDS Credential Rotation with AWS Secrets Manager for .NET - Zero Downtime Security - URL: https://codewithmukesh.com/blog/aws-secrets-manager-rotation-dotnet/ - Published: 2025-12-26 · Updated: 2025-12-26 - Category: dotnet, aws · Tags: secrets, rds, security, rotation, aspnetcore Learn how to automatically rotate your RDS database credentials using AWS Secrets Manager and consume them in your ASP.NET Core applications with zero downtime. Part 2 of the Secrets Manager series. ## LocalStack for .NET Developers – Run AWS Services Locally for Free - URL: https://codewithmukesh.com/blog/localstack-for-dotnet-teams/ - Published: 2025-12-26 · Updated: 2025-12-26 - Category: aws, dotnet · Tags: localstack, s3, dynamodb, sqs, docker, testing, ci-cd Stop burning AWS credits during development. Learn how to run S3, DynamoDB, and SQS locally with LocalStack, wire them into your .NET applications with simple config switches, and integrate LocalStack into CI for cost-free integration tests. ## AWS Systems Manager Parameter Store for .NET Developers – Free Configuration Management - URL: https://codewithmukesh.com/blog/aws-parameter-store-dotnet/ - Published: 2025-12-23 · Updated: 2025-12-23 - Category: dotnet, aws · Tags: parameter store, ssm, configuration, dotnet on aws Learn how to use AWS Systems Manager Parameter Store with ASP.NET Core for managing application configurations. A free-tier alternative to Secrets Manager with full IConfiguration integration, hierarchical parameters, and SecureString encryption. ## AWS S3 Presigned URLs for .NET – Secure File Uploads & Downloads Without Exposing Your Bucket - URL: https://codewithmukesh.com/blog/aws-s3-presigned-urls-dotnet/ - Published: 2025-12-23 · Updated: 2025-12-23 - Category: dotnet, aws · Tags: s3, presigned urls, file upload, dotnet on aws Learn how to generate AWS S3 presigned URLs in .NET for secure, time-limited file uploads and downloads. Enable direct browser uploads, bypass your server, and keep your S3 bucket private. ## S3 Object Lifecycle Policies with .NET - Automate Storage Management & Cost Optimization - URL: https://codewithmukesh.com/blog/s3-lifecycle-policies-dotnet/ - Published: 2025-12-23 · Updated: 2025-12-23 - Category: dotnet, aws · Tags: s3, lifecycle, storage, cost optimization, blazor Learn how to automate S3 storage management using lifecycle policies in .NET. Build a Blazor WASM app to upload files, view bucket contents with storage class info, and manage lifecycle rules programmatically using predefined templates. ## DynamoDB UpdateItem vs PutItem Explained for .NET Developers (With Code) - URL: https://codewithmukesh.com/blog/dynamodb-updateitem-vs-putitem-dotnet/ - Published: 2025-12-02 · Updated: 2025-12-02 - Category: aws, dotnet · Tags: dynamodb, dotnet 10, minimal api, updateitem, putitem, aws Learn when to use PutItem vs UpdateItem in DynamoDB from .NET 10. Build a minimal API that upserts inventory, runs partial updates with conditions, and handles errors gracefully-all with AWS Console and Visual Studio 2026. ## PKCE Authentication in Blazor WebAssembly and .NET Web API with Amazon Cognito (Step-by-Step) - URL: https://codewithmukesh.com/blog/pkce-authentication-blazor-wasm-amazon-cognito/ - Published: 2025-11-30 · Updated: 2025-11-30 - Category: aws, dotnet · Tags: cognito, blazor wasm, pkce, dotnet 10, jwt, refresh tokens Secure a Blazor WebAssembly client and a .NET 10 API with Amazon Cognito using the OAuth 2.1 authorization code flow with PKCE and refresh tokens, configured entirely in the AWS console. ## FanOut Pattern with SNS and SQS for .NET Developers - URL: https://codewithmukesh.com/blog/fanout-pattern-sns-sqs/ - Published: 2025-11-27 · Updated: 2025-11-27 - Category: aws, terraform, dotnet · Tags: sns, sqs, fanout, messaging, dotnet Build a simple fan-out pipeline on AWS with SNS and SQS using Terraform and .NET 10 - one orders API publishes events, and two consumers process them independently. ## Terraform Modules for AWS: A Practical Guide for .NET Developers - URL: https://codewithmukesh.com/blog/terraform-modules-aws-dotnet/ - Published: 2025-11-25 · Updated: 2025-11-25 - Category: terraform, aws, dotnet · Tags: terraform, aws, modules, dotnet, infrastructure-as-code Learn a simple, repeatable way to structure and build Terraform modules on AWS so your .NET services stay consistent, secure, and easy to reuse. ## Local DynamoDB Development with .NET Aspire and .NET 10 Minimal APIs (No AWS Account Required) - URL: https://codewithmukesh.com/blog/local-dynamodb-development-with-dotnet-aspire/ - Published: 2025-11-24 · Updated: 2025-11-24 - Category: dotnet, aws · Tags: aspire, dynamodb, local development, dotnet 10, minimal apis In this hands-on guide, we'll use .NET Aspire 13, DynamoDB Local, and .NET 10 minimal APIs to build a full CRUD Web API against DynamoDB - without ever touching an AWS account. Then we'll see how to flip a small configuration switch to point the same code to real DynamoDB in AWS. ## AWS Local Development with .NET Aspire - Build a Serverless Notifications System - URL: https://codewithmukesh.com/blog/aws-local-development-with-dotnet-aspire/ - Published: 2025-11-22 · Updated: 2025-11-22 - Category: dotnet, aws, serverless · Tags: aspire, aws, dynamodb, sns, sqs, lambda, dotnet 10 In this hands-on guide, we will use .NET Aspire 13 and the latest .NET 10 SDK to build a cloud-ready notifications system that talks to real AWS services like DynamoDB, SNS, and SQS, while keeping the entire local development experience orchestrated from a single Aspire app host. ## ProblemDetails in ASP.NET Core – Standardizing API Error Responses - URL: https://codewithmukesh.com/blog/problem-details-in-aspnet-core/ - Published: 2025-09-04 · Updated: 2025-09-04 - Category: dotnet, webapi-course · Tags: rest, webapi, dotnet-webapi-zero-to-hero-course Learn how to use ProblemDetails in ASP.NET Core to standardize error responses in your Web APIs. Understand default behavior, customization, exception handling, and best practices for building consistent, developer-friendly APIs. ## Automate .NET App Deployment to AWS App Runner with Terraform - URL: https://codewithmukesh.com/blog/automate-dotnet-deployment-aws-app-runner-terraform/ - Published: 2025-08-16 · Updated: 2025-08-16 - Category: dotnet, aws, terraform · Tags: dotnet, aws, terraform Learn how to automate the deployment of your .NET applications to AWS App Runner using Terraform. This guide covers infrastructure-as-code setup, CI/CD integration, and practical tips to streamline your cloud deployments. ## Text Extraction with AWS Lambda and Amazon Textract in .NET - URL: https://codewithmukesh.com/blog/aws-lambda-text-extraction-textract-dotnet/ - Published: 2025-05-06 · Updated: 2025-05-06 - Category: dotnet, aws · Tags: aws, serverless, textract Learn how to extract text from PDF documents using AWS Textract and .NET-based AWS Lambda functions. This guide walks .NET developers through building a serverless OCR pipeline using S3 triggers, Textract integration, and real-world implementation tips for handling document processing in the cloud. ## How to Upload Large Files in ASP.NET Core Using S3 Multipart Upload and Presigned URLs - URL: https://codewithmukesh.com/blog/upload-large-files-aspnet-core-s3-multipart-presigned-urls/ - Published: 2025-04-06 · Updated: 2025-04-06 - Category: dotnet, aws · Tags: aws, serverless, multipart upload Learn how to efficiently upload large files in ASP.NET Core using Amazon S3's multipart upload feature and pre-signed URLs. This hands-on guide walks you through building a scalable, client-driven upload workflow using a .NET 9 Web API and a Blazor WebAssembly frontend. You'll learn how to generate pre-signed URLs, handle file chunking, perform parallel uploads, and finalize the upload with minimal server load. Ideal for developers looking to offload file handling to S3 while maintaining full control from a .NET-based stack. ## AWS Step Functions with Lambda for .NET Workflows - URL: https://codewithmukesh.com/blog/aws-step-functions-lambda-dotnet/ - Published: 2025-04-05 · Updated: 2025-04-05 - Category: dotnet, aws · Tags: aws, serverless, step functions Learn how to build scalable, fault-tolerant serverless workflows using AWS Step Functions and .NET Lambda functions. This guide is tailored for .NET developers who want to move beyond simple Lambda functions and orchestrate complex workflows with retries, parallel executions, and state management. We’ll cover the basics of Step Functions, how they integrate with .NET Lambda projects, real-world architecture examples, setup instructions, error handling, and when to avoid using them. ## Serverless Image Processing with .NET on AWS using S3, SQS, and Lambda - URL: https://codewithmukesh.com/blog/serverless-image-processing-dotnet-aws-s3-sqs-lambda/ - Published: 2025-04-05 · Updated: 2025-04-05 - Category: dotnet, aws · Tags: aws, serverless, image processing Learn how to build a fully serverless, production-ready image processing pipeline on AWS using .NET. This guide walks through uploading images via a minimal .NET 9 Web API, triggering S3 event notifications to an SQS queue, and processing those events in a Lambda function using ImageSharp. You'll learn how to resize images into optimized thumbnails, upload them to an output S3 bucket, and monitor the workflow using CloudWatch. The architecture is event-driven, scalable, and cost-efficient - ideal for modern applications handling user-generated content. ## Scrutor in .NET – Auto-Register Dependencies for Cleaner and Scalable DI - URL: https://codewithmukesh.com/blog/scrutor-dotnet-auto-register-dependencies/ - Published: 2025-04-01 · Updated: 2025-04-01 - Category: dotnet, webapi-course · Tags: scrutor, dependency injection, webapi, dotnet-webapi-zero-to-hero-course Scrutor is a lightweight, open-source library that extends .NET’s built-in Dependency Injection with powerful assembly scanning features. In this article, you’ll learn how to use Scrutor to automatically register services by convention - based on interface names, lifetimes, or attributes. We’ll walk through real-world examples like scanning entire assemblies, registering services with custom logic, and cleaning up your DI setup for maintainability and scalability. ## Keyed Services in .NET – Advanced Dependency Injection Techniques - URL: https://codewithmukesh.com/blog/keyed-services-dotnet-advanced-di/ - Published: 2025-03-31 · Updated: 2025-03-31 - Category: dotnet, webapi-course · Tags: keyed services, dependency injection, webapi, dotnet-webapi-zero-to-hero-course Keyed Services in .NET 8 make it easier to work with multiple implementations of the same interface. Instead of writing custom factories or using service locators, you can now register and resolve services by a simple key. This makes your code cleaner, easier to manage, and more flexible. In this article, you’ll learn what Keyed Services are, how to use them in real-world scenarios, and when to apply them in your projects. ## Transient vs Scoped vs Singleton in .NET - When to Use Each - URL: https://codewithmukesh.com/blog/when-to-use-transient-scoped-singleton-dotnet/ - Published: 2025-03-31 · Updated: 2025-03-31 - Category: dotnet, webapi-course · Tags: service lifetimes, dependency injection, transient, scoped, singleton, webapi, dotnet-webapi-zero-to-hero-course Transient, Scoped, or Singleton? Learn how each .NET service lifetime behaves, when to use it, and how to avoid the captive-dependency bug that breaks production. ## Dependency Injection in ASP.NET Core - The Complete .NET 10 Guide - URL: https://codewithmukesh.com/blog/dependency-injection-in-aspnet-core-explained/ - Published: 2025-03-30 · Updated: 2025-03-30 - Category: dotnet, webapi-course · Tags: di, dependency injection, webapi, dotnet-webapi-zero-to-hero-course How dependency injection really works in ASP.NET Core - service lifetimes, interface-driven design, factory delegates, and the common DI mistakes that break apps. ## Amazon DynamoDB Streams for .NET Developers - A Complete Getting Started Guide - URL: https://codewithmukesh.com/blog/amazon-dynamodb-streams-getting-started/ - Published: 2025-03-03 · Updated: 2025-03-03 - Category: dotnet, aws · Tags: dotnet, aws, dynamodb DynamoDB Streams offer a powerful way to capture real-time changes in your DynamoDB tables, enabling event-driven architectures, auditing, replication, and more. In this guide, I will walk you through everything .NET developers need to know to get started with DynamoDB Streams. By the end of this guide, you’ll have a solid foundation for integrating DynamoDB Streams into your .NET applications, unlocking real-time data processing capabilities to enhance your architecture. ## Amazon SQS vs SNS - Choosing the Right Messaging Service for Your Architecture - URL: https://codewithmukesh.com/blog/amazon-sqs-vs-sns-when-to-use-what/ - Published: 2025-01-29 · Updated: 2025-01-29 - Category: dotnet, aws · Tags: aws, messaging Modern distributed systems rely on messaging services like Amazon SQS and SNS. They help you decouple these interconnected components, ensuring each part works independently yet harmoniously. Whether it’s queuing tasks for reliable processing with SQS or broadcasting real-time notifications to multiple subscribers with SNS, these tools play a pivotal role in simplifying complex workflows. ## Amazon DynamoDB Time to Live (TTL) for .NET Developers - A Complete Guide - URL: https://codewithmukesh.com/blog/amazon-dynamodb-time-to-live-dotnet/ - Published: 2024-12-28 · Updated: 2024-12-28 - Category: dotnet, aws, devops · Tags: dotnet, aws, database Learn how to implement Amazon DynamoDB Time to Live (TTL) for efficient data expiration in .NET applications. This guide explains the basics of TTL, showing you how to automatically remove outdated items and optimize database operations. Perfect for developers, this guide ensures you can effectively manage data life cycles with DynamoDB's powerful TTL feature. ## Amazon DynamoDB Batch Operations with .NET - Read, Write & Delete - URL: https://codewithmukesh.com/blog/amazon-dynamodb-batch-operations-with-dotnet/ - Published: 2024-12-25 · Updated: 2024-12-25 - Category: dotnet, aws, devops · Tags: dotnet, aws, database Batch operations in Amazon DynamoDB allow developers to efficiently perform multiple read, write, update, and delete actions in a single request, optimizing performance and reducing costs. In this article, we'll explore how to implement batch operations using DynamoDBContext in the AWS .NET SDK. By building a simple .NET web API, you'll gain hands-on experience working with DynamoDB batch operations in a practical context. ## Amazon RDS for .NET Developers Using EF Core - Complete Guide with CRUD - URL: https://codewithmukesh.com/blog/amazon-rds-for-dotnet-developers-using-ef-core/ - Published: 2024-12-22 · Updated: 2024-12-22 - Category: dotnet, aws, devops · Tags: dotnet, aws, devops, database This Guide on Amazon RDS for .NET Developers covers everything you need to know to integrate RDS into your .NET applications seamlessly. From choosing the right database engine (like PostgreSQL) to setting up instances, implementing EF Core for CRUD operations, and scaling with read replicas, this guide equips you with the knowledge and skills to build robust, scalable solutions. ## How to Deploy .NET AWS Lambda with Terraform - A Beginner’s Guide - URL: https://codewithmukesh.com/blog/deploy-dotnet-aws-lambda-with-terraform/ - Published: 2024-12-15 · Updated: 2024-12-15 - Category: dotnet, aws, devops, terraform · Tags: dotnet, aws, devops Serverless applications have become a key component of modern software solutions. In many of the .NET projects I've worked on, AWS Lambda plays a pivotal role in the overall system architecture. With Terraform being one of the most widely used Infrastructure as Code (IaC) tools, mastering how to efficiently deploy .NET Lambda functions to AWS is an essential skill for any developer. ## GitHub Actions CI/CD Pipeline for Deploying .NET Web API to Amazon ECS - URL: https://codewithmukesh.com/blog/github-actions-deploy-dotnet-webapi-to-amazon-ecs/ - Published: 2024-11-23 · Updated: 2024-11-23 - Category: dotnet, aws, devops · Tags: dotnet, aws, devops Let’s automate the deployment of a brand-new .NET 9 Web API to Amazon ECS using a GitHub Actions CI/CD pipeline. In this guide, we’ll walk through building a .NET 9 Docker image directly on GitHub, pushing it to Amazon Elastic Container Registry (ECR), creating an ECS task definition, and configuring an ECS service to fetch and deploy the latest Docker image. By the end, your application will be up and running on ECS with a fully automated workflow. ## Choosing the Best AWS Compute Service for your .NET Solution - Detailed Guide - URL: https://codewithmukesh.com/blog/best-aws-compute-service-for-your-dotnet-solution/ - Published: 2024-11-17 · Updated: 2024-11-17 - Category: dotnet, aws · Tags: dotnet, aws This comprehensive guide, Choosing the Best AWS Compute Service for your .NET Solution, will explore everything you need to know about selecting the right AWS compute option for your .NET applications. From EC2 to Lambda, we'll compare cost, operational overhead, ease of deployment, and more, providing you with the insights needed to make an informed decision. Whether you're new to AWS or looking to deepen your cloud expertise, this guide will equip you with the knowledge and tools necessary to choose the most suitable compute service for your specific .NET project requirements. ## Automate AWS Infrastructure Provisioning with Terraform - Beginner's Guide for .NET Developers - URL: https://codewithmukesh.com/blog/automate-aws-infrastructure-provisioning-with-terraform/ - Published: 2024-08-27 · Updated: 2024-08-27 - Category: dotnet, terraform, aws · Tags: container, terraform, aws Terraform is a powerful tool for automating infrastructure deployment and management across multiple cloud providers. Whether you are new to infrastructure as code or looking to deepen your Terraform expertise, this guide will provide you with the knowledge and skills necessary to effectively manage infrastructure in your projects, regardless of the technology stack you work with. ## Response Caching with MediatR in ASP.NET Core - Powerful Pipeline Behavior - URL: https://codewithmukesh.com/blog/caching-with-mediatr-in-aspnet-core/ - Published: 2024-06-24 · Updated: 2024-06-24 - Category: dotnet · Tags: mediatr, caching In this article, we are going to implement Response Caching with MediatR in ASP.NET Core using its awesome Pipeline Behaviours. I have written a couple of articles about MediatR and why it's one of the MUST USE libraries for .NET Developers. ## AWS Message Processing Framework for .NET - Simplifying AWS Based Messaging Applications in .NET - URL: https://codewithmukesh.com/blog/aws-message-processing-framework-for-dotnet/ - Published: 2024-05-29 · Updated: 2024-05-29 - Category: dotnet, aws · Tags: dotnet on aws, messaging, sns, sqs The AWS Message Processing Framework for .NET is a wrapper over the AWS Messaging Services like Amazon SNS, SQS, and Event Bridge that helps reduce a significant amount of boilerplate code needed to interact with these AWS Services, further simplifying the development of messaging in .NET applications. In this article, we will explore this framework, and build sample applications that would use SQS, and SNS. ## Pagination in Amazon DynamoDB with .NET - Improve your API Performance! - URL: https://codewithmukesh.com/blog/pagination-in-amazon-dynamodb-with-dotnet/ - Published: 2024-05-09 · Updated: 2024-05-09 - Category: dotnet, aws · Tags: dotnet on aws, dynamodb, pagination Amazon DynamoDB is the go-to serverless NoSQL Solution from AWS and is very sought-after for building serverless applications on the cloud. Pagination is one feature that helps massively improve your application response times in case you have large volumes of data stored in your database. In this article, we will learn about implementing pagination in Amazon DynamoDB with the .NET AWS SDK! ## Handling Concurrency in Amazon DynamoDB with Optimistic Locking - Detailed Guide - URL: https://codewithmukesh.com/blog/handle-concurrency-in-amazon-dynamodb-with-optimistic-locking/ - Published: 2024-03-27 · Updated: 2024-03-27 - Category: dotnet, aws · Tags: dotnet on aws, dynamodb, optimistic-locking, concurrency Multi-thread programming is essential to building high-performance applications, especially those expected to scale. This article will teach us about handling concurrency in Amazon DynamoDB with Optimistic Locking. When multiple threads try to access/modify the same record in DynamoDB, there can be data inconsistencies and conflicts. To combat this, we will implement optimistic locking to ensure your data is not lost or overridden. ## Automated AWS IAM Access Key Rotation with .NET, AWS Lambda, SNS, and EventBridge Scheduler - URL: https://codewithmukesh.com/blog/automated-aws-iam-access-key-rotation/ - Published: 2024-02-19 · Updated: 2024-02-19 - Category: dotnet, aws · Tags: dotnet on aws, lambda, scheduler, access key rotation Let's build an automated AWS IAM Access Key Rotation Lambda using AWS Lambda, SNS Notifications, and Amazon EventBridge Schedulers. We will be writing the entire AWS Lambda code in C#. ## Schedule AWS Lambda With Amazon EventBridge Scheduler - Powerful Serverless Scheduling! - URL: https://codewithmukesh.com/blog/schedule-aws-lambda-with-amazon-eventbridge-scheduler/ - Published: 2024-02-16 · Updated: 2024-02-16 - Category: dotnet, aws · Tags: dotnet on aws, lambda, scheduler, eventbridge Let's learn how to Schedule AWS Lambda with Amazon EventBridge Scheduler using rate and cron expressions. This is part of my ongoing .NET on AWS series, where we explore and learn about various AWS Services that can benefit you, as a .NET Developer. This is yet another piece of article where we learn about the serverless scheduler that Amazon offers. In simple words, Amazon EventBridge Scheduler helps you build event-driven applications, schedule tasks within the AWS ecosystem, and more. ## Generative AI in .NET with Amazon Bedrock - Add AI to Your Web API - URL: https://codewithmukesh.com/blog/generative-ai-in-dotnet-with-amazon-bedrock/ - Published: 2024-01-15 · Updated: 2024-01-15 - Category: dotnet, aws · Tags: dotnet on aws, genai, ai, bedrock GenAI, short for Generative AI, is at the forefront of technological evolution, representing a groundbreaking paradigm in artificial intelligence. In this article, we are going to deep dive into this exact topic by integrating Generative AI in .NET with Amazon BedRock. Together, we will explore and build a .NET application that can generate AI chats and even images using the seamless integration with Amazon BedRock and its GenAI foundational models. ## Secrets in ASP.NET Core with AWS Secrets Manager – Super Simple & Secure - URL: https://codewithmukesh.com/blog/secrets-in-aspnet-core-with-aws-secrets-manager/ - Published: 2023-12-24 · Updated: 2023-12-24 - Category: dotnet, aws · Tags: dotnet on aws, serverless, secrets Let's discuss securing Confidential Data and Secrets in ASP.NET Core with AWS Secrets Manager. We will also walk through various aspects and concepts of Secrets Management in your ASP.NET Core Application ## Image Recognition in .NET with Amazon Rekognition - Detect and Blur - URL: https://codewithmukesh.com/blog/image-recognition-in-dotnet-with-amazon-rekognition/ - Published: 2023-09-23 · Updated: 2023-09-23 - Category: dotnet, aws · Tags: dotnet on aws, ai, rekognition In this article, we will learn about Image Recognition in .NET with Amazon Rekognition! We will go through some concepts around this service and build an ASP.NET Core Web API that can recognize people/objects from images, blur out faces for privacy concerns, and do some additional operations. I will also walk you through other APIs offered, like Facial Analysis, Label Detection, Image Moderation, and so on. ## Deploying ASP.NET Core WebAPI to AWS App Runner - Super Fast Deployments via ECR and GitHub - URL: https://codewithmukesh.com/blog/deploying-aspnet-core-webapi-to-aws-app-runner/ - Published: 2023-08-20 · Updated: 2023-08-20 - Category: dotnet, aws · Tags: dotnet on aws, serverless, app runner, deploy In this article, we are going to explore yet another deployment option from AWS, which is about Deploying ASP.NET Core WebAPI to AWS App Runner, the latest Container based Compute Service from AWS. ## Trigger AWS Lambda with S3 Events in .NET - Powerful Event-Driven Thumbnail Creation Lambda for .NET Developers - URL: https://codewithmukesh.com/blog/trigger-aws-lambda-with-s3-events-dotnet/ - Published: 2023-07-23 · Updated: 2023-07-23 - Category: dotnet, aws · Tags: dotnet on aws, serverless, lambda, trigger In this article, we are going to learn about how to Trigger AWS Lambda with S3 Events. In previous articles, we have already gone through the basics of the involved AWS Services like Amazon S3 and AWS Lambda. Now, let's see how they can be integrated to form a practical system that has an event-driven approach. We will learn this using a real-life scenario, and help build a more efficient system. ## Deploy Blazor WebAssembly to AWS Amplify - Super Fast Deployment in 2 Minutes! - URL: https://codewithmukesh.com/blog/deploy-blazor-webassembly-to-aws-amplify/ - Published: 2023-06-11 · Updated: 2023-06-11 - Category: dotnet, aws · Tags: dotnet on aws, blazor, amplify In this article, we will learn to deploy Blazor WebAssembly to AWS Amplify along with CI/CD with GitHub, providing you with a streamlined development workflow. You'll learn how to set up your Amplify environment, configure hosting and authentication, and leverage Amplify's robust infrastructure to ensure lightning-fast performance and effortless scalability. ## Send Emails from ASP.NET Core using Amazon SES - Complete Guide - URL: https://codewithmukesh.com/blog/send-emails-from-aspnet-core-using-amazon-ses/ - Published: 2023-06-04 · Updated: 2023-06-04 - Category: dotnet, aws · Tags: dotnet on aws, ses, email Are you an ASP.NET Core developer looking for a reliable and efficient way to send emails from your web applications? Look no further! In this comprehensive guide, we will learn to send emails from ASP.NET Core using Amazon SES aka Amazon Simple Email Service, empowering you to effortlessly send emails with ease. ## AWS CDK for .NET Developers - Infrastructure As Code To Provision AWS Resources Easily with C# - URL: https://codewithmukesh.com/blog/aws-cdk-for-dotnet-developers/ - Published: 2023-05-28 · Updated: 2023-05-28 - Category: dotnet, aws · Tags: dotnet on aws, cdk In this article, we will learn about AWS CDK for .NET Developers to automate the AWS Resource Deployments process. AWS CDK or the AWS Cloud Development Kit is an open-source framework used to provision your AWS Infrastructure resources using familiar programming languages like C#, Python, Node and so. ## Amazon SNS and ASP.NET Core - Building Super Scalable Notification Systems for .NET Applications on AWS - URL: https://codewithmukesh.com/blog/scalable-notifications-with-amazon-sns-and-aspnet-core/ - Published: 2023-05-21 · Updated: 2023-05-21 - Category: dotnet, aws · Tags: dotnet on aws, sns, notification In this article, we'll bring together Amazon SNS and ASP.NET Core to build super scalable notification systems. Amazon SNS is an excellent choice if you're looking to build a scalable, real-time notification system. With its ease of use and flexibility, SNS, or the Simple Notification Service by Amazon is a popular choice for developers looking to build notification systems for web and mobile applications. You'll learn how to integrate Amazon SNS with your .NET Core application, set up a notification topic, and subscribe to receive notifications. ## Amazon SQS and ASP.NET Core for Scalable Messaging - An Easy Guide for .NET Developers - URL: https://codewithmukesh.com/blog/amazon-sqs-and-aspnet-core/ - Published: 2023-05-01 · Updated: 2023-05-01 - Category: dotnet, aws · Tags: dotnet on aws, sqs, messaging In this article, we will learn about Amazon SQS and ASP.NET Core including its key concepts, architecture, how you will integrate it with .NET applications, and its use cases. If you're a .NET developer like me, you know the importance of building scalable and reliable message queues for your ASP.NET Core applications. ## .NET Lambda Annotations Framework for Simplified Development | .NET on AWS - URL: https://codewithmukesh.com/blog/dotnet-lambda-annotations-framework-aws/ - Published: 2023-04-22 · Updated: 2023-04-22 - Category: dotnet, aws · Tags: dotnet on aws, lambda, annotations framework In this article, we will explore the .NET Lambda Annotations Framework released recently by the AWS Team to improve development experiences while working with AWS Lambdas. This Framework makes the entire Lambda Function creation task feel more natural to C# / .NET Developers. ## Hosting ASP.NET Core WebAPI on Amazon EC2 - Step-by-Step Guide - URL: https://codewithmukesh.com/blog/hosting-aspnet-core-webapi-on-amazon-ec2/ - Published: 2023-03-31 · Updated: 2023-03-31 - Category: dotnet, aws · Tags: dotnet on aws, ec2, amazon In this article, we will go through the step-by-step process of hosting ASP.NET Core WebAPI on Amazon EC2, a reliable and resizable computing service in the cloud. This will give you a more Hands-On experience of working directly on the Linux instance to set up the .NET environment as well as host your applications. We will be covering quite a lot of cool concepts along the way which will help you understand various DevOps-related practices as well. ## Securing .NET WebAPI with Amazon Cognito - Serverless Authentication System - Client Credentials & Password Flows - JWT! - URL: https://codewithmukesh.com/blog/securing-dotnet-webapi-with-amazon-cognito/ - Published: 2023-03-19 · Updated: 2023-03-19 - Category: dotnet, aws · Tags: dotnet on aws, auth, cognito This article is a comprehensive guide on Securing .NET WebAPI with Amazon Cognito. Our focus is on creating a Serverless Authentication system by utilizing OAuth and Amazon Cognito. ## Deploying Blazor WebAssembly to AWS S3 - Static Website Hosting with AWS + CDN with AWS CloudFront - URL: https://codewithmukesh.com/blog/deploying-blazor-webassembly-to-aws-s3/ - Published: 2023-02-25 · Updated: 2023-02-25 - Category: dotnet, aws · Tags: blazor, cloudfront, cdn In this article, we will learn about deploying Blazor WebAssembly to AWS S3 in just a couple of simple steps. Once deployed, we will also go through the AWS CloudFront, which is a CDN service that is going to help speed up the delivery of your Blazor standalone website to your visitors. ## Configuring AWS Credentials for .NET Applications - Detailed Guide - URL: https://codewithmukesh.com/blog/aws-credentials-for-dotnet-applications/ - Published: 2023-01-22 · Updated: 2023-01-22 - Category: dotnet, aws · Tags: security, credentials In this article, we will go through the best practices for configuring & managing AWS Credentials for .NET applications. We will walk through various ways to secure the AWS Credentials by using app settings, environment variables, AWS CLI profiles, and IAM Roles. ## Deploying ASP.NET Core Web API to AWS Elastic Beanstalk using AWS CodePipeline - Easy CI/CD with AWS - URL: https://codewithmukesh.com/blog/deploying-aspnet-core-web-api-to-aws-elastic-beanstalk-using-aws-codepipeline/ - Published: 2022-12-18 · Updated: 2022-12-18 - Category: dotnet, aws · Tags: elastic beanstalk, aws codepipeline, ci, cd In this article, we are going to be deploying ASP.NET Core Web API to AWS Elastic Beanstalk using AWS CodePipeline. In the process, we will learn the basics of AWS Codepipeline, AWS CodeBuild, and AWS Elastic Beanstalk. ## Logging to Amazon Cloudwatch with Serilog in .NET - Getting Started with Cloudwatch - URL: https://codewithmukesh.com/blog/amazon-cloudwatch-logging-serilog-dotnet/ - Published: 2022-11-26 · Updated: 2022-11-26 - Category: dotnet, aws · Tags: cloudwatch, logging, serilog In this article, we will learn about yet another AWS Service, Amazon Cloudwatch. We will learn about logging to Amazon Cloudwatch with Serilog in .NET Application with ease. ## Deploy ASP.NET Core Web API to Amazon ECS - Dockerized Applications with AWS Fargate - Ultimate Guide - URL: https://codewithmukesh.com/blog/deploy-aspnet-core-web-api-to-amazon-ecs/ - Published: 2022-10-02 · Updated: 2022-10-02 - Category: dotnet, aws, docker · Tags: ecs, fargate, docker, serverless In this article, we will be looking into How to Deploy ASP.NET Core Web API to Amazon ECS, aka Amazon Elastic Container Services. So, with this we will cover tons of topics including ASP.NET Core Web API with MongoDB (this will be our sample application, just to demonstrate the usage of multiple docker containers), Dockerizing the Application, Pushing Docker Images to ECR (Elastic Container Registry), Creating Amazon ECS Services and Task Definitions, Port Mappings, Working with VPC and so much more. ## AWS SAM CLI for .NET Developers - Getting Started with Serverless Application Model CLI Tool - URL: https://codewithmukesh.com/blog/aws-sam-cli-for-dotnet-developers/ - Published: 2022-09-28 · Updated: 2022-09-28 - Category: dotnet, aws · Tags: sam, cli In this article, we will learn about AWS SAM CLI for .NET Developers, using which one can quickly build complete serverless applications. It is a handy option when you want to automate serverless application deployment into multiple AWS accounts, reducing manual efforts. ## Hosting ASP.NET Core Web API with AWS Lambda - Truly Serverless REST APIs - URL: https://codewithmukesh.com/blog/hosting-aspnet-core-web-api-with-aws-lambda/ - Published: 2022-08-21 · Updated: 2022-08-21 - Category: dotnet, aws · Tags: hosting, lambda, rest api, serverless In this article, we will learn about hosting ASP.NET Core Web API with AWS Lambda in a rather simple-to-follow manner. It is going to be as simple as developing a .NET 6 Web API as you would normally do using Controllers or Minimal APIs, and running some CLI commands which will deploy your API as Lambda Function to AWS Lambda super fast! ## Securing Amazon API Gateway with Lambda Authorizer in .NET - Detailed Guide - URL: https://codewithmukesh.com/blog/aws-lambda-authorizer-in-dotnet/ - Published: 2022-08-15 · Updated: 2022-08-15 - Category: dotnet, aws · Tags: serverless, lambda, api gateway, lambda authorizer Lambda Authorizer is a component/feature of Amazon API Gateways that is responsible for Access to the protected resources of the API Gateway. The Lambda Authorizer is technically an AWS Lambda configured as an Authorizer while setting up the Amazon API Gateway. Lambda Authorizers are vital when you need to build a custom auth scheme. ## Amazon API Gateway with .NET - AWS Lambda & DynamoDB Integrations - URL: https://codewithmukesh.com/blog/amazon-api-gateway-with-dotnet/ - Published: 2022-08-06 · Updated: 2022-08-06 - Category: dotnet, aws · Tags: serverless, api gateway In this comprehensive article, we will be learning Amazon API Gateway with .NET stack to expose AWS Lambdas as API routes to the external world quite easily. ## CRUD with DynamoDB in ASP.NET Core - Getting Started with AWS DynamoDB Simplified - URL: https://codewithmukesh.com/blog/crud-with-dynamodb-in-aspnet-core/ - Published: 2022-05-04 · Updated: 2022-05-04 - Category: dotnet, aws · Tags: database, dynamodb, ddb, crud In this article, we are going to learn about implementing CRUD with DynamoDB in ASP.NET Core Web API. This article is an integral part of the entire "Serverless Applications with AWS" which I have been writing on my blog. ## Implementing JWT Authentication in Golang REST API - Detailed Guide - URL: https://codewithmukesh.com/blog/jwt-authentication-in-golang/ - Published: 2022-04-24 · Updated: 2022-04-24 - Category: golang · Tags: jwt, auth, go In this article, we will learn about implementing JWT Authentication in Golang REST APIs and securing it with Authentication Middleware. We will be building a simple, yet neatly organized Golang REST API with packages like Gin for Routing (mostly), GORM for persisting user data to a MySQL Database, and so on. ## AWS Lambda with .NET 6 - Getting Started with Serverless Computing - URL: https://codewithmukesh.com/blog/aws-lambda-with-net-6/ - Published: 2022-04-14 · Updated: 2022-04-14 - Category: dotnet, aws · Tags: serverless, lambda In this article, we will get started with learning about using AWS Lambda with .NET 6 and deploying this serverless function to AWS. Further, we will discuss the use cases of AWS Lambda, Installing the extensions and CLI template to ease the creation of AWS Lambda C# projects, configuring the AWS CLI with credentials, and some basics of Cloudwatch Logging. ## Structured Logging in Golang with Zap - Blazing Fast Logger - URL: https://codewithmukesh.com/blog/structured-logging-in-golang-with-zap/ - Published: 2022-03-27 · Updated: 2022-03-27 - Category: golang · Tags: logging, zap, structured logging, go In this article, we will look into Structured Logging in Golang with Zap from Uber! When it comes to product development, logging plays a vital role in identifying issues, evaluating performances, and knowing the process status within the application. ## Implementing CRUD in Golang REST API with Mux & GORM - Comprehensive Guide - URL: https://codewithmukesh.com/blog/implementing-crud-in-golang-rest-api/ - Published: 2022-03-20 · Updated: 2022-03-20 - Category: golang · Tags: crud, go In this article, we will learn about implementing CRUD in Golang REST API with Gorilla Mux for routing requests, GORM as the ORM to access the database, Viper for Loading configurations, and MySQL as the database provider. ## JSON Based Localization in ASP.NET Core With Caching - Super Easy Guide - URL: https://codewithmukesh.com/blog/json-based-localization-in-aspnet-core/ - Published: 2021-09-26 · Updated: 2021-09-26 - Category: dotnet · Tags: localization, globalization In this article, we are going to learn how to implement JSON Based Localization in ASP.NET Core and club it with Caching to make it even more efficient. ## Multitenancy in ASP.NET Core - Simplest Way to achieve Multitenancy - URL: https://codewithmukesh.com/blog/multitenancy-in-aspnet-core/ - Published: 2021-08-31 · Updated: 2021-08-31 - Category: dotnet · Tags: multitenancy, multitenant In this article, let's learn how to implement Multitenancy in ASP.NET Core in a rather simple way making use of Entity Framework Core. ## Modular Architecture in ASP.NET Core - Building Better Monoliths - URL: https://codewithmukesh.com/blog/modular-architecture-in-aspnet-core/ - Published: 2021-07-11 · Updated: 2021-07-11 - Category: dotnet · Tags: modular, architecture In this article, we will discuss Modularizing Web Applications using Modular Architecture in ASP.NET Core. We will go through Monolith Architecture's various cons and pros and work on how to build monolith applications in a better way. ## Specification Pattern in ASP.NET Core - Enhancing Generic Repository Pattern - URL: https://codewithmukesh.com/blog/specification-pattern-in-aspnet-core/ - Published: 2021-04-24 · Updated: 2021-04-24 - Category: dotnet · Tags: specification, pattern We will talk about implementing Specification Pattern in ASP.NET Core applications and how it can enhance the already existing Generic Repository Patterns. ## Building a Chat Application with Blazor, Identity, and SignalR - Ultimate Guide - URL: https://codewithmukesh.com/blog/realtime-chat-application-with-blazor/ - Published: 2021-04-02 · Updated: 2021-04-02 - Category: dotnet · Tags: blazor, signalr In this Guide, we will be building a full-fledged Chat Application With Blazor WebAssembly using Identity and SignalR from scratch. ## Blazor Hero - Clean Architecture Template Quick Start Guide - URL: https://codewithmukesh.com/blog/blazor-hero-quick-start-guide/ - Published: 2021-03-19 · Updated: 2021-03-19 - Category: dotnet · Tags: blazor, blazor hero A Clean Architecture Template built for Blazor WebAssembly using MudBlazor Components. This project will make your Blazor Learning Process much easier than you anticipate. Blazor Hero is meant to be an Enterprise Level Boilerplate, which comes free of cost, completely open sourced. ## Implementing Blazor CRUD using Mudblazor Component Library in .NET 5 - Detailed Guide - URL: https://codewithmukesh.com/blog/blazor-crud-using-mudblazor/ - Published: 2021-02-17 · Updated: 2021-02-17 - Category: dotnet · Tags: blazor, mudblazor In this article, we will demonstrate implementing Blazor CRUD using Mudblazor Component Library with a more polished way to achieve the CRUD functionalities. ## Audit Trail Implementation in ASP.NET Core with Entity Framework Core - URL: https://codewithmukesh.com/blog/audit-trail-implementation-in-aspnet-core/ - Published: 2020-12-26 · Updated: 2020-12-26 - Category: dotnet · Tags: audit trail, efcore Implement an audit trail in ASP.NET Core with Entity Framework Core. Track who changed what and when by intercepting SaveChanges, capturing old and new values, affected columns, and the responsible user into an audit log table. ## Using Entity Framework Core and Dapper in ASP.NET Core - Safe Transactions - URL: https://codewithmukesh.com/blog/using-entity-framework-core-and-dapper/ - Published: 2020-11-08 · Updated: 2020-11-08 - Category: dotnet · Tags: efcore, dapper, transactions In this article, we will learn about Using Entity Framework Core and Dapper in ASP.NET Core together in the same application. Another major point of discussion will be Transactions. By the end of the article, we will have an application that works with both Entity Framework Core and Dapper alongside each other, but also intelligent enough to rollback data whenever there is an exception with the process. ## RabbitMQ with ASP.NET Core - Microservice Communication with MassTransit - URL: https://codewithmukesh.com/blog/rabbitmq-with-aspnet-core-microservice/ - Published: 2020-08-22 · Updated: 2020-08-22 - Category: dotnet · Tags: rabbitmq, microservices, masstransit In this article, let's talk about Microservice Communication using RabbitMQ with ASP.NET Core. Essentially, we will learn how to enable communication between Microservices using RabbitMQ and MassTransit. Let's get started! ## JQuery Datatable in ASP.NET Core - Server-Side Processing - URL: https://codewithmukesh.com/blog/jquery-datatable-in-aspnet-core/ - Published: 2020-07-25 · Updated: 2020-07-25 - Category: dotnet · Tags: email, mailkit In this article, we will learn how to use JQuery Datatable in ASP.NET Core with Server Side Processing. We will also be building a simple real-world implementation to help understand JQuery Datatable to it's fullest. ## Microservice Architecture in ASP.NET Core with API Gateway - URL: https://codewithmukesh.com/blog/microservice-architecture-in-aspnet-core/ - Published: 2020-07-18 · Updated: 2020-07-18 - Category: dotnet · Tags: microservices, architecture Let's go through a popular way of Building Applications - Microservice Architecture in ASP.NET Core. In this detailed article, we will try to understand what really Microservice architecture is. , How does it compare to the traditional way of building applications? And also some advanced concepts like API Gateways with Ocelot, Unifying several Microservices, Health Checks, and much more. ## Dapper in ASP.NET Core with Repository Pattern - Detailed - URL: https://codewithmukesh.com/blog/dapper-in-aspnet-core/ - Published: 2020-07-17 · Updated: 2020-07-17 - Category: dotnet · Tags: dapper, database, repository pattern In this article, we will learn all about Dapper in ASP.NET Core and make a small implementation to understand how it works. Let's not limit it just to Dapper. We will build an application that follows a very simple and clean architecture. In this implementation, we will try to under Repository Pattern and Unit Of Work as well. ## Repository Pattern in ASP.NET Core - Ultimate Guide - URL: https://codewithmukesh.com/blog/repository-pattern-in-aspnet-core/ - Published: 2020-06-28 · Updated: 2020-06-28 - Category: dotnet · Tags: repository pattern In this extensive guide, we will go through everything you will need to know about Repository Pattern in ASP.NET Core, Generic Repository Patterns, Unit of Work and related topics. We will build a project right from scratch where we implement a clean architecture to access data. ## How to Integrate AdminLTE with ASP.NET Core? Detailed - URL: https://codewithmukesh.com/blog/integrating-adminlte-with-aspnet-core/ - Published: 2020-06-21 · Updated: 2020-06-21 - Category: dotnet · Tags: adminlte, mvc In this article, we will learn about Integrating AdminLTE with ASP.NET Core 3.1 MVC or really any other Bootstrap based UI Frameworks completely from scratch. We will also go through about integrating Identity Authentication to our MVC Applicaiton. Also, you will gain quite a lot of practical knowledge on Views, Layouts, Partial Views, Conditional Rendering, Navigation Indicatior and much more. ## Onion Architecture In ASP.NET Core With CQRS - Detailed - URL: https://codewithmukesh.com/blog/onion-architecture-in-aspnet-core/ - Published: 2020-06-18 · Updated: 2020-06-18 - Category: dotnet · Tags: onion, architecture In this article, We will talk about Onion Architecture In ASP.NET Core and its advantages. We will also together build a WebApi that follows a variant of Onion Architecture so that we get to see why it is important to implement such an architecture in your upcoming projects. ## How to Implement Blazor CRUD using Entity Framework Core? Detailed Demonstration - URL: https://codewithmukesh.com/blog/blazor-crud-with-entity-framework-core/ - Published: 2020-06-04 · Updated: 2020-06-04 - Category: dotnet · Tags: blazor, mudblazor Let's build a Client-side Blazor CRUD Application that uses Entity Framework Core as it's Data Access Layer. In our previous articles, we discussed Blazor basics and it's folder structures. ## How to Install Visual Studio 2019 Community – The Best IDE for C# - URL: https://codewithmukesh.com/blog/install-visual-studio-2019-community/ - Published: 2020-05-31 · Updated: 2020-05-31 - Category: dotnet · Tags: ide, visual studio In this article, I will show you how to install Visual Studio 2019 Community on to your machine to kickstart your development journey.