Commit 23c4c539 authored by Marc Gravell's avatar Marc Gravell

Merge pull request #416 from StackExchange/Issue281

Fix for #281 - Change CommandBehavior on ExecuteReaderAsync to match sync version
parents 52b1ccb7 6b848faa
...@@ -734,6 +734,19 @@ select @@Name ...@@ -734,6 +734,19 @@ select @@Name
", new Product { Id = 1 })).Single(); ", new Product { Id = 1 })).Single();
id.IsEqualTo(2); id.IsEqualTo(2);
} }
[Fact]
public async Task Issue1281_DataReaderOutOfOrderAsync()
{
using (var reader = await connection.ExecuteReaderAsync("Select 0, 1, 2"))
{
reader.Read().IsTrue();
reader.GetInt32(2).IsEqualTo(2);
reader.GetInt32(0).IsEqualTo(0);
reader.GetInt32(1).IsEqualTo(1);
reader.Read().IsFalse();
}
}
} }
} }
#endif #endif
\ No newline at end of file
...@@ -721,7 +721,7 @@ private static async Task<IDataReader> ExecuteReaderImplAsync(IDbConnection cnn, ...@@ -721,7 +721,7 @@ private static async Task<IDataReader> ExecuteReaderImplAsync(IDbConnection cnn,
{ {
cmd = (DbCommand)command.SetupCommand(cnn, paramReader); cmd = (DbCommand)command.SetupCommand(cnn, paramReader);
if (wasClosed) await ((DbConnection)cnn).OpenAsync(command.CancellationToken).ConfigureAwait(false); if (wasClosed) await ((DbConnection)cnn).OpenAsync(command.CancellationToken).ConfigureAwait(false);
var reader = await cmd.ExecuteReaderAsync(GetBehavior(wasClosed, CommandBehavior.SequentialAccess), command.CancellationToken).ConfigureAwait(false); var reader = await cmd.ExecuteReaderAsync(GetBehavior(wasClosed, CommandBehavior.Default), command.CancellationToken).ConfigureAwait(false);
wasClosed = false; wasClosed = false;
return reader; return reader;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment