14 Years of Enterprise ASP.NET, Part 2: LINQ, EF Core & SQL Server Without the Footguns
Part 2 of a 14-year ASP.NET series: LINQ, EF Core, and SQL Server done right — where the boundary runs, the EF habits, and reading the plan.
Long-form tutorials and engineering notes on .NET, React, AI/ML, and SaaS architecture.
Part 2 of a 14-year ASP.NET series: LINQ, EF Core, and SQL Server done right — where the boundary runs, the EF habits, and reading the plan.
Part 1 of a 14-year ASP.NET series: why clean code isn't enough, the OOP that matters, and how SOLID changed the systems I build.
The MCP C# SDK turns a typed method into a tool with an auto-generated schema. Here's building MCP servers in .NET 9 — DI-native, testable, AOT-ready.
.NET 11 vs .NET 10 benchmarked on Mattrx in production — the real throughput, latency, and memory wins, the new features, and whether to upgrade.
10 async/await mistakes that wreck API throughput — .Result, async void, sequential awaits, lock across await. Mattrx 1,200 → 4,500 RPS in 2 weeks.
10 hidden ASP.NET Core memory leaks with before/after code — singletons, MemoryCache, EF tracker, LOH. Mattrx fleet RAM 12.6 GB → 2.3 GB.
Deep .NET data access guide: EF Core tracking, projection, AsSplitQuery, ExecuteUpdateAsync, compiled queries, and the EF + Dapper hybrid pattern.
SOLID principles built around a real C# order-processing service. Refactor each principle with honest pros, cons, and a code-review checklist.
ASP.NET Web API from basics to advanced — REST principles, controller + minimal-API code, versioning, auth, and the pitfalls beginners miss.
Deep-dive into ASP.NET MVC: what it is, why it exists, architecture diagram, real code, advantages, disadvantages, and where it fits in 2026. Basic to advanced.
Inheritance breaks Liskov in practice — how to refactor a 3-level C# hierarchy into composable behaviour with interfaces and DI. Before/after code.
Records, pattern matching, ref struct, ValueTask, and primary constructors — how they change production code in 2026.