Measure retrieval misses separately from model failures

Give retrieval its own outcome and telemetry so missing or irrelevant context is not diagnosed as a model problem.

July 26, 2026 · 2 min · Lukas Walter

Project EF Core queries before materializing

Use Select to project only the required values before ToListAsync, reducing transferred columns and unnecessary entity materialization on EF Core read paths.

July 26, 2026 · 2 min · Lukas Walter

Describe tool parameters like API contracts

Give AI tools precise parameter names, units, formats, and side-effect expectations so the model receives an unambiguous contract.

July 24, 2026 · 2 min · Lukas Walter

Keep public API DTOs separate from domain entities

Use explicit request and response contracts so persistence fields and domain state do not become part of the public API accidentally.

July 24, 2026 · 3 min · Lukas Walter

Microsoft Foundry: When Agent Framework Agents Become Managed Resources

How to host a Microsoft Agent Framework agent in Foundry while keeping authorization, conversation ownership, identity, and governance boundaries explicit.

July 22, 2026 · 16 min · Lukas Walter

Choose rate-limiting policies by endpoint cost

Apply different ASP.NET Core rate limits to cheap reads and expensive AI or data-processing endpoints.

July 19, 2026 · 3 min · Lukas Walter

Design queue handlers for duplicate delivery

Assume a queue message can arrive more than once and make the handler’s business effects safe to repeat.

July 19, 2026 · 3 min · Lukas Walter

Use Aspire service discovery instead of hardcoded ports

Let Aspire pass service discovery information so application code can use logical service names instead of local port numbers.

July 19, 2026 · 2 min · Lukas Walter

When an AI Request Should Become a Background Job

How to decide when a .NET AI request should stay synchronous, stream its response, or move to a durable background job with HTTP 202 and a status resource.

July 19, 2026 · 14 min · Lukas Walter

Do not page without deterministic ordering

Give paged database queries a fully unique order so rows with the same sort value cannot move unpredictably between pages.

July 18, 2026 · 2 min · Lukas Walter