Table of Contents

Struct SqlAsyncScalarQueryReader

Namespace
LfrlAnvil.Sql.Statements
Assembly
LfrlAnvil.Sql.Core.dll

Represents an asynchronous type-erased scalar query reader.

public readonly record struct SqlAsyncScalarQueryReader : IEquatable<SqlAsyncScalarQueryReader>
Implements
Inherited Members
Extension Methods

Constructors

SqlAsyncScalarQueryReader(SqlDialect, Func<IDataReader, CancellationToken, ValueTask<SqlScalarQueryResult>>)

Represents an asynchronous type-erased scalar query reader.

public SqlAsyncScalarQueryReader(SqlDialect Dialect, Func<IDataReader, CancellationToken, ValueTask<SqlScalarQueryResult>> Delegate)

Parameters

Dialect SqlDialect

SQL dialect with which this query reader is associated.

Delegate Func<IDataReader, CancellationToken, ValueTask<SqlScalarQueryResult>>

Underlying delegate.

Properties

Delegate

Underlying delegate.

public Func<IDataReader, CancellationToken, ValueTask<SqlScalarQueryResult>> Delegate { get; init; }

Property Value

Func<IDataReader, CancellationToken, ValueTask<SqlScalarQueryResult>>

Dialect

SQL dialect with which this query reader is associated.

public SqlDialect Dialect { get; init; }

Property Value

SqlDialect

Methods

ReadAsync(IDataReader, CancellationToken)

Asynchronously reads a scalar value.

[Pure]
public ValueTask<SqlScalarQueryResult> ReadAsync(IDataReader reader, CancellationToken cancellationToken = default)

Parameters

reader IDataReader

IDataReader to read from.

cancellationToken CancellationToken

Optional CancellationToken.

Returns

ValueTask<SqlScalarQueryResult>

ValueTask<TResult> that returns a read scalar value.