Skip to content

refactor(examples): S13 PR 4 — .NET on EF Core, HealthChecks and BackgroundService - #76

Merged
patterncatalyst merged 26 commits into
mainfrom
refactor/s13-dotnet
Oct 12, 2026
Merged

patterncatalyst merged 26 commits into
mainfrom
refactor/s13-dotnet

Conversation

@patterncatalyst

Copy link
Copy Markdown
Owner

S13 PR 4 of 5 (plan: _plans/s13-idiomatic-plan.md, step 5).

  • The .NET examples move from hand-built Npgsql commands to EF Core, with db/init still owning the schema (no migrations, no EnsureCreated). 04's outbox is written in a single SaveChanges, and 17's saga locks its row with FromSql ... FOR UPDATE.
  • Hand-written MapGet health endpoints are replaced by ASP.NET Core HealthChecks on /healthz and /readyz.
  • Console consumers and the 25 flusher become BackgroundServices. 21 drains through IHostedLifecycleService instead of PosixSignalRegistration.
  • Configuration moves to IConfiguration/Options (D5), new HttpClient to typed HttpClients, and 18's errors to AddProblemDetails / TypedResults.Problem.
  • 25 uses HybridCache for read-through only; the other strategies keep explicit Redis clients (D4).
  • 19's CLI runs on a plain host without Kestrel. 11 and 16 enable nullable reference types.
  • The .NET site tabs, READMEs and deck (DotNet.fix6.json) follow the new code.

The rebase onto main hit one conflict in _docs/25-appendix-l-caching.md (read-through prose). It now keeps Quarkus's Cache.get from PR 2 and names .NET HybridCache's GetOrCreateAsync.

Verification: scripts/verify-matrix.sh dotnet passed 19/19. validate_site, voice-scan and deck_text --check report clean.

@patterncatalyst
patterncatalyst merged commit 8c2069e into main Oct 12, 2026
46 checks passed
@patterncatalyst
patterncatalyst deleted the refactor/s13-dotnet branch October 12, 2026 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant