Myślę, że właśnie tego szukasz, choć trudno powiedzieć, bez przykładowego zapytania, które próbujesz wykonać.
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.
}
Zasadniczo Sposób SqlMapper.GridReader
Read
jest podobny do sposobu Query
przedłużacza. Parametr splitOn
otrzymuje tylko jedno z przeciążeń, które ma więcej niż dwa typy ogólne.
Dziękuję Alex. Ale szukam sposobu użycia funkcji [Multimapping] (https://github.com/SamSaffron/dapper-dot-net/blob/master/Tests/Tests.cs#L459) –
Czy możesz podać przykład o tym, co próbujesz zrobić? – Alex
Zasadniczo przechowuję niektóre pola denormalizowane w SQL (np. Pole DTags, w którym mam wszystkie znaczniki oddzielone ";", itd.). A kiedy używam QueryMultiple (metoda Read), nie ma opcji użycia parametru "split", jak w zapytaniach MultiMapping –