Skip to content

Make audit reconciliation writes portable across relational providers - #578

Merged
cdcavell merged 2 commits into
mainfrom
fix/portable-audit-reconciliation-sql
Sep 22, 2026
Merged

cdcavell merged 2 commits into
mainfrom
fix/portable-audit-reconciliation-sql

Conversation

@cdcavell

Copy link
Copy Markdown
Collaborator

Summary

  • Replace SQL Server-specific reconciliation updates with EF Core ExecuteUpdateAsync operations.
  • Generate reconciliation insert statements from EF Core model metadata and provider-specific identifier quoting.
  • Keep all inserted values parameterized while preserving conditional inserts, concurrency checks, and rollback behavior.
  • Update reconciliation tests to recognize writes regardless of provider identifier syntax.

Validation

  • Ran dotnet format ./NetCoreApplicationTemplate.slnx.
  • Ran dotnet restore ./NetCoreApplicationTemplate.slnx
  • Ran dotnet build ./NetCoreApplicationTemplate.slnx -c Release --no-restore
  • Ran dotnet test ./NetCoreApplicationTemplate.slnx -c Release --no-restore --no-build
Test run summary: Passed!
  total: 469
  failed: 0
  succeeded: 469
  skipped: 0
  duration: 24s 522ms

Copilot AI lite review requested due to automatic review settings September 22, 2026 01:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The changed persistence and test paths are consistent with the existing model, transaction, and concurrency behavior.

Review effort: Lite
Findings: None

What changed in this PR

This PR makes audit reconciliation writes provider-portable while preserving concurrency checks, parameterization, and transaction behavior.

Changes:

  • Replaces SQL Server-specific updates with ExecuteUpdateAsync.
  • Generates parameterized inserts from EF Core metadata and provider quoting.
  • Updates tests to recognize provider-specific identifier quoting.
File Description
ApplicationAuditReconciler.cs Implements portable reconciliation updates and inserts.
ApplicationAuditReconciliationTests.cs Makes write interception provider-agnostic.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@cdcavell
cdcavell merged commit 2ffb9c0 into main Sep 22, 2026
18 checks passed
@cdcavell
cdcavell deleted the fix/portable-audit-reconciliation-sql branch September 22, 2026 01:14
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.

2 participants