Class DatabaseEngineExtensions
Convenience extensions for DatabaseEngine.
public static class DatabaseEngineExtensions
- Inheritance
-
DatabaseEngineExtensions
- Inherited Members
Methods
CreateQuickTransaction(DatabaseEngine, DurabilityMode, DurabilityDiscipline)
Creates a single-transaction UoW with auto-dispose semantics. When the returned transaction is disposed, the backing UoW is also disposed automatically.
public static Transaction CreateQuickTransaction(this DatabaseEngine dbe, DurabilityMode durabilityMode = DurabilityMode.Deferred, DurabilityDiscipline discipline = DurabilityDiscipline.TickFence)
Parameters
dbeDatabaseEngineThe database engine.
durabilityModeDurabilityModeControls when WAL records become crash-safe. Default is Deferred.
disciplineDurabilityDisciplineDurability discipline for SingleVersion-layout writes (TickFence default, or Commit for zero-loss, atomic, commit-scoped writes). Fixed for the transaction.
Returns
- Transaction
A transaction whose Dispose() also disposes the owning UoW.
Remarks
This is a convenience wrapper for the common single-transaction pattern:
using var tx = dbe.CreateQuickTransaction();
tx.Spawn<MyArchetype>();
tx.Commit();
// tx.Dispose() also disposes the backing UoW
CreateReadOnlyTransaction(DatabaseEngine)
Creates a read-only transaction with no UnitOfWork and no ChangeSet allocation. Write operations (Create/Update/Delete) throw InvalidOperationException. Commit is a no-op. Dispose exits the epoch scope and removes from the chain.
public static Transaction CreateReadOnlyTransaction(this DatabaseEngine dbe)
Parameters
dbeDatabaseEngine