Je pense que c'est ce que vous cherchez, mais c'est difficile à dire sans un exemple de la requête que vous essayez d'exécuter.
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, splitOn: "ChildId");
// Continue to read from the other queries in your sql.
}
Fondamentalement, le procédé Read
du SqlMapper.GridReader
est similaire à la méthode d'extension Query
. Vous obtenez uniquement le paramètre splitOn
avec l'une des surcharges qui prend plus de deux types génériques.
Merci Alex. Mais je cherche un moyen d'utiliser la fonction [Multimapping] (https://github.com/SamSaffron/dapper-dot-net/blob/master/Tests/Tests.cs#L459) –
Pourriez-vous donner un exemple sur ce que vous essayez de faire? – Alex
Fondamentalement, je stocke certains champs dénormalisés en SQL (par exemple: un champ DTags où j'ai tous les tags séparés par ";", etc). Et quand j'utilise le QueryMultiple (méthode Read) il n'y a pas d'option pour utiliser le paramètre "split" comme dans les requêtes MultiMapping –