Class WriterBase
- Namespace
- The.SQL.Persistence
- Assembly
- Instagile.dll
public abstract class WriterBase : IVisitor, IDisposable
- Inheritance
-
WriterBase
- Implements
- Derived
- Inherited Members
Constructors
WriterBase(IDatabase, Dictionary<string, EntityTable>, Dictionary<string, AutonumColumn>, TimeSpan, int, ParameterMode, Identity)
public WriterBase(IDatabase db, Dictionary<string, EntityTable> tables, Dictionary<string, AutonumColumn> autonums, TimeSpan versionConflictLeeway, int maximumBatchedQueryCount, ParameterMode parameterMode, Identity writeIdentity)
Parameters
dbIDatabasetablesDictionary<string, EntityTable>autonumsDictionary<string, AutonumColumn>versionConflictLeewayTimeSpanmaximumBatchedQueryCountintparameterModeParameterModewriteIdentityIdentity
Fields
Autonums
protected readonly Dictionary<string, AutonumColumn> Autonums
Field Value
DB
protected readonly ITransaction DB
Field Value
UseParams
protected readonly bool UseParams
Field Value
WriteIdentity
protected readonly Identity WriteIdentity
Field Value
Properties
DML
protected IDMLDialect DML { get; }
Property Value
Methods
Assert(InvalidatedAssertion)
protected void Assert(InvalidatedAssertion assertion)
Parameters
assertionInvalidatedAssertion
Buffer(BatchedCommand)
protected void Buffer(BatchedCommand query)
Parameters
queryBatchedCommand
CreateDML(IReadOnlyDictionary<string, EntityTable>, QueryConfig)
protected abstract IDMLDialect CreateDML(IReadOnlyDictionary<string, EntityTable> tables, QueryConfig config)
Parameters
tablesIReadOnlyDictionary<string, EntityTable>configQueryConfig
Returns
CreateParameter(int, Guid)
protected abstract DbParameter CreateParameter(int number, Guid value)
Parameters
Returns
CreateParameter(int, int, object)
protected abstract DbParameter CreateParameter(int number, int type, object value)
Parameters
Returns
CreateParameter(int, string)
protected abstract DbParameter CreateParameter(int number, string value)
Parameters
Returns
CreateParameter(int, ulong)
protected abstract DbParameter CreateParameter(int number, ulong value)
Parameters
Returns
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
ExecuteAsync()
public Task<List<InvalidatedAssertion>> ExecuteAsync()
Returns
ExecuteAsync(List<List<BatchedCommand>>)
protected abstract Task ExecuteAsync(List<List<BatchedCommand>> batches)
Parameters
batchesList<List<BatchedCommand>>
Returns
GetParameterValue(AttributeColumn, object?)
protected abstract object GetParameterValue(AttributeColumn c, object? raw)
Parameters
cAttributeColumnrawobject
Returns
InsertEntitiesAsync(string, IReadOnlyList<ColumnsByIndex>, CancellationToken)
public virtual Task InsertEntitiesAsync(string typeName, IReadOnlyList<ColumnsByIndex> fusedOperations, CancellationToken cancellationToken)
Parameters
typeNamestringfusedOperationsIReadOnlyList<ColumnsByIndex>cancellationTokenCancellationToken
Returns
Param()
protected int Param()
Returns
ReadDateTime(IDataRecord, int)
protected virtual DateTime ReadDateTime(IDataRecord row, int index)
Parameters
rowIDataRecordindexint
Returns
Visit(AssertEntityVersion)
public void Visit(AssertEntityVersion operation)
Parameters
operationAssertEntityVersion
Visit(DeleteEntity)
public virtual void Visit(DeleteEntity operation)
Parameters
operationDeleteEntity
Visit(DeleteRelationship)
public virtual void Visit(DeleteRelationship operation)
Parameters
operationDeleteRelationship
Visit(InsertEntity)
public virtual void Visit(InsertEntity operation)
Parameters
operationInsertEntity
Visit(InsertRelationship)
public virtual void Visit(InsertRelationship operation)
Parameters
operationInsertRelationship
Visit(UpdateEntity)
public virtual void Visit(UpdateEntity operation)
Parameters
operationUpdateEntity