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
IDataReaderUnderlying data reader.
Properties
Reader
Underlying data reader.
public DbDataReader Reader { get; }
Property Value
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
SqlAsyncQueryReaderAsynchronous query reader.
cancellationToken
CancellationTokenOptional 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
SqlAsyncQueryReaderAsynchronous query reader.
options
SqlQueryReaderOptions?Query reader options.
cancellationToken
CancellationTokenOptional 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
SqlAsyncScalarQueryReaderAsynchronous scalar query reader.
cancellationToken
CancellationTokenOptional 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
CancellationTokenOptional 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
CancellationTokenOptional 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
CancellationTokenOptional 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
CancellationTokenOptional CancellationToken.
Returns
- ValueTask<TResult>
ValueTask<TResult> that returns the result of invocation of the delegate.
Type Parameters
TResult