Class ReaderBase
- Namespace
- The.SQL.Persistence
- Assembly
- Instagile.dll
public abstract class ReaderBase : IVisitor
- Inheritance
-
ReaderBase
- Implements
- Derived
- Inherited Members
Constructors
ReaderBase(IDatabase, IReadOnlyDictionary<string, EntityTable>, IReadOnlyDictionary<string, AutonumColumn>, ParameterMode, Identity, IDMLDialect)
public ReaderBase(IDatabase db, IReadOnlyDictionary<string, EntityTable> tables, IReadOnlyDictionary<string, AutonumColumn> autonums, ParameterMode parameterMode, Identity queryWriteIdentity, IDMLDialect dml)
Parameters
dbIDatabasetablesIReadOnlyDictionary<string, EntityTable>autonumsIReadOnlyDictionary<string, AutonumColumn>parameterModeParameterModequeryWriteIdentityIdentitydmlIDMLDialect
Fields
Autonums
protected readonly IReadOnlyDictionary<string, AutonumColumn> Autonums
Field Value
DB
protected readonly IDatabase DB
Field Value
Tables
protected readonly IReadOnlyDictionary<string, EntityTable> Tables
Field Value
Properties
AllQueriesUnisolated
protected bool AllQueriesUnisolated { get; }
Property Value
DML
protected IDMLDialect DML { get; }
Property Value
Methods
Buffer(BatchedQuery)
protected void Buffer(BatchedQuery q)
Parameters
BufferEntities(QueryEntities, SelectStatement, IReadOnlyDictionary<int, ValueBox>)
Buffers query as the statement which reads the entities of operation.
protected void BufferEntities(QueryEntities operation, SelectStatement query, IReadOnlyDictionary<int, ValueBox> literals)
Parameters
operationQueryEntitiesquerySelectStatementliteralsIReadOnlyDictionary<int, ValueBox>
BufferPairs(QueryPairs, SelectStatement, IReadOnlyDictionary<int, ValueBox>)
Buffers query as the statement which reads the pairs of operation.
protected void BufferPairs(QueryPairs operation, SelectStatement query, IReadOnlyDictionary<int, ValueBox> literals)
Parameters
operationQueryPairsquerySelectStatementliteralsIReadOnlyDictionary<int, ValueBox>
CreateLiteralParameters(IReadOnlyDictionary<int, ValueBox>)
protected DbParameter[] CreateLiteralParameters(IReadOnlyDictionary<int, ValueBox> literals)
Parameters
literalsIReadOnlyDictionary<int, ValueBox>
Returns
CreateParameter(int, object)
protected abstract DbParameter CreateParameter(int number, object value)
Parameters
Returns
CreateRow(EntityTable, IDataRecord)
protected abstract Row? CreateRow(EntityTable table, IDataRecord row)
Parameters
tableEntityTablerowIDataRecord
Returns
Execute()
public ReadResult Execute()
Returns
Execute(IReadOnlyList<BatchedQuery>)
protected abstract ReadResult Execute(IReadOnlyList<BatchedQuery> queries)
Parameters
queriesIReadOnlyList<BatchedQuery>
Returns
ExecuteAsync()
public Task<ReadResult> ExecuteAsync()
Returns
ExecuteAsync(IReadOnlyList<BatchedQuery>)
protected abstract Task<ReadResult> ExecuteAsync(IReadOnlyList<BatchedQuery> queries)
Parameters
queriesIReadOnlyList<BatchedQuery>
Returns
GetReadFunc(TypeBox)
protected virtual ReadColumn GetReadFunc(TypeBox t)
Parameters
tTypeBox
Returns
Param()
protected int Param()
Returns
TestToAggregate(IDataRecord)
protected abstract int TestToAggregate(IDataRecord row)
Parameters
rowIDataRecord
Returns
Visit(FreezeQuery)
public void Visit(FreezeQuery operation)
Parameters
operationFreezeQuery
Visit(QueryCount)
public void Visit(QueryCount operation)
Parameters
operationQueryCount
Visit(QueryEntities)
public virtual void Visit(QueryEntities operation)
Parameters
operationQueryEntities
Visit(QueryPairs)
public virtual void Visit(QueryPairs operation)
Parameters
operationQueryPairs
Visit(QueryRelated)
public virtual void Visit(QueryRelated operation)
Parameters
operationQueryRelated
Visit(QueryTest)
public void Visit(QueryTest operation)
Parameters
operationQueryTest
Visit(QueryValues)
public void Visit(QueryValues operation)
Parameters
operationQueryValues
Visit(ReportAutonums)
public virtual void Visit(ReportAutonums operation)
Parameters
operationReportAutonums
Visit(ReportVersions)
public virtual void Visit(ReportVersions operation)
Parameters
operationReportVersions
Visit(ThawFrozenQuery)
public void Visit(ThawFrozenQuery operation)
Parameters
operationThawFrozenQuery