title: Dapper GridReader already Disposed Error
body: <p>I'm using Dapper dot net to execute a stored procedure that returns 4 result sets. Here's how I'm doing it:</p>
  
  <pre><code>    public Results Search(Query query)
      {
          if (query == null) throw new ArgumentNullException("query");
  
          Results results;
          var q = _sqlConnection.QueryMultiple("MySchema.MySproc", query,
                                               commandType: CommandType.StoredProcedure);
          {
              results = q.Read&lt;Results&gt;().First();
              results.CheckAlertResults = q.Read&lt;Results.CheckAlertResult&gt;().ToArray(); // Cannot access a disposed object.Object name: 'GridReader'.
              results.PersonAlertResultRows = q.Read&lt;Results.PersonAlertResultRow&gt;().ToArray();
              results.RoutingAlertResults = q.Read&lt;Results.RoutingAlertResult&gt;().ToArray();
          }
  
          return results;
      }
  </code></pre>
  
  <p>The first result set will only contain 1 row. It corresponds to a couple of primitive properties on my <code>Results</code> class.</p>
  
  <p>The other 3 result sets will have many rows and will populate 3 complex array properties on the <code>Results</code> class.</p>
  
  <p>For some reason, I'm getting</p>
  
  <blockquote>
    <p>Cannot access a disposed object.Object name: 'GridReader'.</p>
  </blockquote>
  
  <p>Check my code to see where.</p>
  
  <p>I have verified that the procedure is working correctly when called from LinqPad, which uses Linq2Sql.</p>
  
  <p>What am I doing wrong?</p>