Table of Contents

Class BaseFastSingleTypeParser<TOpt, T>

Namespace
Rinku.Mapping.Parsers.Defaults
Assembly
Rinku.dll

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

TOpt
T
Inheritance
BaseFastSingleTypeParser<TOpt, T>
Implements
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

behavior CommandBehavior
parser Func<DbDataReader, T>
schemaParser ITypeParser

Properties

Behavior

The reader behavior this parser wants, passed to ExecuteReader(CommandBehavior).

public override CommandBehavior Behavior { get; }

Property Value

CommandBehavior

Remarks

Methods

CanParse(ColumnInfo[])

Whether this parser can read a result carrying schema.

public override bool CanParse(ColumnInfo[] schema)

Parameters

schema ColumnInfo[]

Returns

bool

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

reader DbDataReader

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

reader DbDataReader
ct CancellationToken

Returns

ValueTask<(bool CanContinue, TOpt Result)>