获取客户列表及其相关订单和退货示例:
var sql = @"select * from Customers
select * from Orders where CustomerId = (depends on first query)
select * from Returns where CustomerId = (depends on first query)";
using (var multi = connection.QueryMultiple(sql))
{
var customer = multi.Read<Customer>().ToList();
var orders = multi.Read<Order>().ToList();
var returns = multi.Read<Return>().ToList();
...
}
Run Code Online (Sandbox Code Playgroud)
这最终是一个SQL问题。这里 dapper 没有做任何额外或不同的事情 - 如果您批量发出多个选择,它们必须是有效的 SQL。有几种方法可以做到这一点,包括:
如果您无法构造 SQL 来执行您想要的操作,请考虑单独运行第一个查询。