Skip to main content
Table of Contents

Namespace Stratara.Abstractions.Persistence

Classes

ConcurrencyConflictException

Thrown by an ITransaction implementation when an optimistic-concurrency conflict is detected during commit (i.e. the row was modified or deleted by another concurrent caller between the entity load and the save).

Interfaces

IDbResolver

Resolves the connection string used by the current request / scope. Allows hosts to implement per-tenant / per-region DB routing without coupling repositories to the resolver implementation.

IReadUnitOfWork

Read-side unit of work. Used for queries that need transactional consistency across multiple repository reads (e.g. computing aggregations over a snapshot of the read-store).

ITransaction

A scoped database transaction. Dispose to roll back implicitly; call SaveChangesAsync(CancellationToken) to commit.

IUnitOfWork

Common base for read + write units-of-work. Provides explicit transaction control — callers obtain an ITransaction, run a sequence of repository operations, then commit via SaveChangesAsync(CancellationToken).

IWriteUnitOfWork

Write-side unit of work — exposes the repositories that participate in an event-sourced write (event stream, snapshots, hash anchors, command audit, outbox).