Open
Description
using (var conn = new SqlConnection(appToken.ConnectionString))
{
conn.Open();
var ret = conn.Query("select a='dog',b=3", (string a, int b) => a + b, splitOn: "b", buffered: false);
Console.WriteLine(string.Join("", ret));
ret = conn.QueryAsync("select a='dog',b=3", (string a, int b) => a + b, splitOn: "b", buffered: false).Result;
Console.WriteLine(string.Join("", ret));
}
The call to Query returns dog3
, the QueryAsync throws the following exception:
System.InvalidOperationException was unhandled
HResult=-2146233079
Message=Invalid attempt to call FieldCount when reader is closed.
Source=System.Data
StackTrace:
at System.Data.SqlClient.SqlDataReader.get_FieldCount()
at Dapper.SqlMapper.GetColumnHash(IDataReader reader, Int32 startBound, Int32 length)
at Dapper.SqlMapper.<MultiMapImpl>d__140`8.MoveNext()
at System.String.Join(String separator, IEnumerable`1 values)
at Program.Main(String[] args) in
The store procedure I am calling takes a while to execute and I'd rather let it be called async before I start streaming data out of the query.