Scroll to top

Dapper.NET : Multiple Results

Curious Bot - December 1, 2018 - 0 comments

Base Multiple Results Example

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();


Parameter Details
cnn Your database connection, must already be open
sql The sql string to process, contains multiple queries
param Object to extract parameters from
SqlMapper.GridReader Provides interfaces for reading multiple result sets from a Dapper query


  • public static SqlMapper.GridReader QueryMultiple(this IDbConnection cnn, string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null)
  • public static SqlMapper.GridReader QueryMultiple(this IDbConnection cnn, CommandDefinition command)

Related posts