To fetch multiple grids in a single query, the QueryMultiple
method is used. This then allows you to retrieve each grid sequentially through successive calls against the GridReader
returned.
var sql = @"select * from Customers where CustomerId = @id
select * from Orders where CustomerId = @id
select * from Returns where CustomerId = @id";
using (var multi = connection.QueryMultiple(sql, new {id=selectedId}))
{
var customer = multi.Read<Customer>().Single();
var orders = multi.Read<Order>().ToList();
var returns = multi.Read<Return>().ToList();
}