有没有办法在Dapper中一起使用MultiMapping和QueryMultiple?

Car*_*des 8 dapper

我有一些需要一起运行的查询,我可以使用QueryMultiple功能.

但在这种情况下,我无法找到如何使用MultiMapping.

有谁知道实现这一目标的方法?

juh*_*arr 12

我认为这是你正在寻找的,虽然没有你试图执行的查询的例子很难说.

var sql = @"Select * 
            From Parent 
            Left Join Child on Child.ParentID = Parent.ParentID 
            Where Parent.ParentID = @id
            ... more queries";

using(var reader = connection.QueryMultiple(sql, new {id=selectedId}))
{
    var stuff = reader.Read<Parent, Child, Parent>(
        (p,c)=> 
        {
            p.Child = c;
            return p;
        }, splitOn: "ChildId").Single();
    // Continue to read from the other queries in your sql.
}
Run Code Online (Sandbox Code Playgroud)

基本上该Read方法SqlMapper.GridReader类似于Query扩展方法.您只能获取splitOn带有两个以上泛型类型的重载之一的参数.