There is a merged PR on this topic from Sep 2014:
https://github.com/StackExchange/Dapper/pull/158/files
The PR added methods where you can pass an array of Types. So the limitation to 7 entities does not exist anymore on these methods.
This is a Code Test from the Dapper Repo showing how to use one of these new methods:
public async Task TestMultiMapArbitraryWithSplitAsync()
{
const string sql = @"select 1 as id, 'abc' as name, 2 as id, 'def' as name";
var productQuery = await connection.QueryAsync<Product>(sql, new[] { typeof(Product), typeof(Category) }, (objects) => {
var prod = (Product)objects[0];
prod.Category = (Category)objects[1];
return prod;
});
var product = productQuery.First();
// assertions
product.Id.IsEqualTo(1);
product.Name.IsEqualTo("abc");
product.Category.Id.IsEqualTo(2);
product.Category.Name.IsEqualTo("def");
}