Class BaseFastSingleTypeParser<TOpt, T>
A base for a single-result wrapper whose element has a row delegate. Override Default() to choose what an empty query returns.
public abstract class BaseFastSingleTypeParser<TOpt, T> : BaseTypeParser<TOpt>, ITypeParser<TOpt>, ITypeParser, IDisposable where TOpt : struct, IWrapping<TOpt, T>
Type Parameters
TOptT
- Inheritance
-
BaseTypeParser<TOpt>BaseFastSingleTypeParser<TOpt, T>
- Implements
-
ITypeParser<TOpt>
- Derived
- Inherited Members
- Extension Methods
Constructors
BaseFastSingleTypeParser(CommandBehavior, Func<DbDataReader, T>, ITypeParser)
A base for a single-result wrapper whose element has a row delegate. Override Default() to choose what an empty query returns.
protected BaseFastSingleTypeParser(CommandBehavior behavior, Func<DbDataReader, T> parser, ITypeParser schemaParser)
Parameters
behaviorCommandBehaviorparserFunc<DbDataReader, T>schemaParserITypeParser
Properties
Behavior
The reader behavior this parser wants, passed to ExecuteReader(CommandBehavior).
public override CommandBehavior Behavior { get; }
Property Value
Remarks
Often SequentialAccess or SingleResult.
Methods
CanParse(ColumnInfo[])
Whether this parser can read a result carrying schema.
public override bool CanParse(ColumnInfo[] schema)
Parameters
schemaColumnInfo[]
Returns
Remarks
A parser may accept several schemas. A parser that reads names and types at each call may accept every schema.
Parse(DbDataReader)
Parses one T starting at the current row, advancing the reader as it goes.
CanContinue reports the state of the reader on return, true when it is
positioned on an untreated row, false when no row is left
public override (bool CanContinue, TOpt Result) Parse(DbDataReader reader)
Parameters
readerDbDataReader
Returns
- (bool CanContinue, TOpt Result)
ParseAsync(DbDataReader, CancellationToken)
Parses one T starting at the current row, advancing the reader as it goes.
CanContinue reports the state of the reader on return, true when it is
positioned on an untreated row, false when no row is left
public override ValueTask<(bool CanContinue, TOpt Result)> ParseAsync(DbDataReader reader, CancellationToken ct = default)
Parameters
readerDbDataReaderctCancellationToken
Returns
- ValueTask<(bool CanContinue, TOpt Result)>