Table of Contents

Struct SqlAsyncMultiDataReader

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

Represents an asynchronous lightweight IDataReader container with multiple result sets.

public readonly struct SqlAsyncMultiDataReader : IDisposable, IAsyncDisposable
Implements
Inherited Members

Constructors

SqlAsyncMultiDataReader(IDataReader)

Creates a new SqlAsyncMultiDataReader instance.

public SqlAsyncMultiDataReader(IDataReader reader)

Parameters

reader IDataReader

Underlying data reader.

Properties

Reader

Underlying data reader.

public DbDataReader Reader { get; }

Property Value

DbDataReader

Methods

Dispose()

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

public void Dispose()

DisposeAsync()

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

public ValueTask DisposeAsync()

Returns

ValueTask

A task that represents the asynchronous dispose operation.

ReadAllAsync(SqlAsyncQueryReader, CancellationToken)

Reads all record sets asynchronously.

[Pure]
public ValueTask<List<SqlQueryResult>> ReadAllAsync(SqlAsyncQueryReader reader, CancellationToken cancellationToken = default)

Parameters

reader SqlAsyncQueryReader

Asynchronous query reader.

cancellationToken CancellationToken

Optional CancellationToken.

Returns

ValueTask<List<SqlQueryResult>>

ValueTask<TResult> that returns all record sets.

ReadAsync(SqlAsyncQueryReader, SqlQueryReaderOptions?, CancellationToken)

Reads the next record set asynchronously.

[Pure]
public ValueTask<SqlQueryResult> ReadAsync(SqlAsyncQueryReader reader, SqlQueryReaderOptions? options = null, CancellationToken cancellationToken = default)

Parameters

reader SqlAsyncQueryReader

Asynchronous query reader.

options SqlQueryReaderOptions?

Query reader options.

cancellationToken CancellationToken

Optional CancellationToken.

Returns

ValueTask<SqlQueryResult>

ValueTask<TResult> that returns the next record set.

ReadAsync(SqlAsyncScalarQueryReader, CancellationToken)

Reads the next scalar asynchronously.

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

Parameters

reader SqlAsyncScalarQueryReader

Asynchronous scalar query reader.

cancellationToken CancellationToken

Optional CancellationToken.

Returns

ValueTask<SqlScalarQueryResult>

ValueTask<TResult> that returns the next scalar.

ReadAsync<TRow>(SqlAsyncQueryReader<TRow>, SqlQueryReaderOptions?, CancellationToken)

Reads the next record set asynchronously.

[Pure]
public ValueTask<SqlQueryResult<TRow>> ReadAsync<TRow>(SqlAsyncQueryReader<TRow> reader, SqlQueryReaderOptions? options = null, CancellationToken cancellationToken = default) where TRow : notnull

Parameters

reader SqlAsyncQueryReader<TRow>

Asynchronous query reader.

options SqlQueryReaderOptions?

Query reader options.

cancellationToken CancellationToken

Optional CancellationToken.

Returns

ValueTask<SqlQueryResult<TRow>>

ValueTask<TResult> that returns the next record set.

Type Parameters

TRow

Row type.

ReadAsync<T>(SqlAsyncScalarQueryReader<T>, CancellationToken)

Reads the next scalar asynchronously.

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

Parameters

reader SqlAsyncScalarQueryReader<T>

Asynchronous scalar query reader.

cancellationToken CancellationToken

Optional CancellationToken.

Returns

ValueTask<SqlScalarQueryResult<T>>

ValueTask<TResult> that returns the next scalar.

Type Parameters

T

Scalar type.

ReadAsync<TResult>(Func<DbDataReader, CancellationToken, Task<TResult>>, CancellationToken)

Invokes the provided asynchronous delegate on the underlying Reader.

[Pure]
public ValueTask<TResult> ReadAsync<TResult>(Func<DbDataReader, CancellationToken, Task<TResult>> reader, CancellationToken cancellationToken = default)

Parameters

reader Func<DbDataReader, CancellationToken, Task<TResult>>

Asynchronous delegate to invoke.

cancellationToken CancellationToken

Optional CancellationToken.

Returns

ValueTask<TResult>

ValueTask<TResult> that returns the result of invocation of the delegate.

Type Parameters

TResult

ReadAsync<TResult>(Func<DbDataReader, CancellationToken, ValueTask<TResult>>, CancellationToken)

Invokes the provided asynchronous delegate on the underlying Reader.

[Pure]
public ValueTask<TResult> ReadAsync<TResult>(Func<DbDataReader, CancellationToken, ValueTask<TResult>> reader, CancellationToken cancellationToken = default)

Parameters

reader Func<DbDataReader, CancellationToken, ValueTask<TResult>>

Asynchronous delegate to invoke.

cancellationToken CancellationToken

Optional CancellationToken.

Returns

ValueTask<TResult>

ValueTask<TResult> that returns the result of invocation of the delegate.

Type Parameters

TResult