Table of Contents

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

db IDatabase
tables Dictionary<string, EntityTable>
autonums Dictionary<string, AutonumColumn>
versionConflictLeeway TimeSpan
maximumBatchedQueryCount int
parameterMode ParameterMode
writeIdentity Identity

Fields

Autonums

protected readonly Dictionary<string, AutonumColumn> Autonums

Field Value

Dictionary<string, AutonumColumn>

DB

protected readonly ITransaction DB

Field Value

ITransaction

UseParams

protected readonly bool UseParams

Field Value

bool

WriteIdentity

protected readonly Identity WriteIdentity

Field Value

Identity

Properties

DML

protected IDMLDialect DML { get; }

Property Value

IDMLDialect

Methods

Assert(InvalidatedAssertion)

protected void Assert(InvalidatedAssertion assertion)

Parameters

assertion InvalidatedAssertion

Buffer(BatchedCommand)

protected void Buffer(BatchedCommand query)

Parameters

query BatchedCommand

CreateDML(IReadOnlyDictionary<string, EntityTable>, QueryConfig)

protected abstract IDMLDialect CreateDML(IReadOnlyDictionary<string, EntityTable> tables, QueryConfig config)

Parameters

tables IReadOnlyDictionary<string, EntityTable>
config QueryConfig

Returns

IDMLDialect

CreateParameter(int, Guid)

protected abstract DbParameter CreateParameter(int number, Guid value)

Parameters

number int
value Guid

Returns

DbParameter

CreateParameter(int, int, object)

protected abstract DbParameter CreateParameter(int number, int type, object value)

Parameters

number int
type int
value object

Returns

DbParameter

CreateParameter(int, string)

protected abstract DbParameter CreateParameter(int number, string value)

Parameters

number int
value string

Returns

DbParameter

CreateParameter(int, ulong)

protected abstract DbParameter CreateParameter(int number, ulong value)

Parameters

number int
value ulong

Returns

DbParameter

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

ExecuteAsync()

public Task<List<InvalidatedAssertion>> ExecuteAsync()

Returns

Task<List<InvalidatedAssertion>>

ExecuteAsync(List<List<BatchedCommand>>)

protected abstract Task ExecuteAsync(List<List<BatchedCommand>> batches)

Parameters

batches List<List<BatchedCommand>>

Returns

Task

GetParameterValue(AttributeColumn, object?)

protected abstract object GetParameterValue(AttributeColumn c, object? raw)

Parameters

c AttributeColumn
raw object

Returns

object

InsertEntitiesAsync(string, IReadOnlyList<ColumnsByIndex>, CancellationToken)

public virtual Task InsertEntitiesAsync(string typeName, IReadOnlyList<ColumnsByIndex> fusedOperations, CancellationToken cancellationToken)

Parameters

typeName string
fusedOperations IReadOnlyList<ColumnsByIndex>
cancellationToken CancellationToken

Returns

Task

Param()

protected int Param()

Returns

int

ReadDateTime(IDataRecord, int)

protected virtual DateTime ReadDateTime(IDataRecord row, int index)

Parameters

row IDataRecord
index int

Returns

DateTime

Visit(AssertEntityVersion)

public void Visit(AssertEntityVersion operation)

Parameters

operation AssertEntityVersion

Visit(DeleteEntity)

public virtual void Visit(DeleteEntity operation)

Parameters

operation DeleteEntity

Visit(DeleteRelationship)

public virtual void Visit(DeleteRelationship operation)

Parameters

operation DeleteRelationship

Visit(InsertEntity)

public virtual void Visit(InsertEntity operation)

Parameters

operation InsertEntity

Visit(InsertRelationship)

public virtual void Visit(InsertRelationship operation)

Parameters

operation InsertRelationship

Visit(UpdateEntity)

public virtual void Visit(UpdateEntity operation)

Parameters

operation UpdateEntity