Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions Source/Core/ExpressiveCommandBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1047,10 +1047,11 @@ ValueTask<TResult> ExecuteReaderCoreAsync<TState, TResult>(TState state, Func<ID
if (cmd is DbCommand dbCommand)
{
#if NETSTANDARD2_0
using DbDataReader dbReader = await dbCommand.ExecuteReaderAsync(b, s.cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader dbReader = await dbCommand.ExecuteReaderAsync(b, s.cancellationToken).ConfigureAwait(false);
await using var dbReaderDisposal = dbReader.ConfigureAwait(false);
#endif
using DbDataReader dbReader = await dbCommand.ExecuteReaderAsync(b, s.cancellationToken).ConfigureAwait(false);
return await s.transform(dbReader, s.state).ConfigureAwait(false);
}

Expand Down
45 changes: 27 additions & 18 deletions Source/Core/Extensions/Command._.cs
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,11 @@ public static async ValueTask<List<T>> ToListAsync<T>(this DbCommand command,
Contract.EndContractBlock();

#if NETSTANDARD2_0
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await using var readerDisposal = reader.ConfigureAwait(false);
#endif
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);

return await reader.ToListAsync(transform, cancellationToken).ConfigureAwait(false);
}
Expand Down Expand Up @@ -182,10 +183,11 @@ public static async ValueTask<List<T>> ToListAsync<T>(this DbCommand command,
Contract.EndContractBlock();

#if NETSTANDARD2_0
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await using var readerDisposal = reader.ConfigureAwait(false);
#endif
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);

if (useReadAsync) return await reader.ToListAsync(transform, cancellationToken).ConfigureAwait(false);

Expand Down Expand Up @@ -346,10 +348,11 @@ public static async ValueTask ExecuteReaderAsync(this DbCommand command,
Contract.EndContractBlock();

#if NETSTANDARD2_0
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await using var readerDisposal = reader.ConfigureAwait(false);
#endif
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
handler(reader);
}

Expand Down Expand Up @@ -395,10 +398,11 @@ public static async ValueTask ExecuteReaderAsync(this DbCommand command,
Contract.EndContractBlock();

#if NETSTANDARD2_0
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await using var readerDisposal = reader.ConfigureAwait(false);
#endif
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await handler(reader).ConfigureAwait(false);
}

Expand All @@ -421,10 +425,11 @@ public static async ValueTask<T> ExecuteReaderAsync<T>(this DbCommand command,
Contract.EndContractBlock();

#if NETSTANDARD2_0
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await using var readerDisposal = reader.ConfigureAwait(false);
#endif
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
return transform(reader);
}

Expand Down Expand Up @@ -464,10 +469,11 @@ public static async ValueTask<T> ExecuteReaderAsync<T>(this DbCommand command,
Contract.EndContractBlock();

#if NETSTANDARD2_0
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await using var readerDisposal = reader.ConfigureAwait(false);
#endif
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
return await transform(reader).ConfigureAwait(false);
}

Expand Down Expand Up @@ -585,10 +591,11 @@ public static async ValueTask ForEachAsync(this DbCommand command,
cancellationToken.ThrowIfCancellationRequested();

#if NETSTANDARD2_0
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await using var readerDisposal = reader.ConfigureAwait(false);
#endif
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await reader.ForEachAsync(handler, useReadAsync, cancellationToken).ConfigureAwait(false);
}

Expand All @@ -612,10 +619,11 @@ public static async ValueTask ForEachAsync(this DbCommand command,
cancellationToken.ThrowIfCancellationRequested();

#if NETSTANDARD2_0
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await using var readerDisposal = reader.ConfigureAwait(false);
#endif
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await reader.ForEachAsync(handler, useReadAsync, cancellationToken).ConfigureAwait(false);
}

Expand All @@ -641,10 +649,11 @@ public static async ValueTask IterateReaderWhileAsync(this DbCommand command, Fu
Contract.EndContractBlock();

#if NETSTANDARD2_0
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
#else
await
DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await using var readerDisposal = reader.ConfigureAwait(false);
#endif
using DbDataReader reader = await command.OpenAndExecuteReaderAsync(behavior, cancellationToken).ConfigureAwait(false);
await reader.IterateWhileAsync(predicate, useReadAsync, cancellationToken).ConfigureAwait(false);
}

Expand Down