Używam wielu mapowań dla bieżącego zapytania, a teraz muszę odwzorować inny obiekt na początkowe zapytanie.Dapper Multi-map następny poziom
Na przykład:
public class Part {
public int Id { get; set; }
public string Name { get; set; }
public Address Address { get; set; }
}
public class Address {
public int Id { get; set; }
public string Street { get; set; }
public SiteOu Ou { get; set; }
}
public class SiteOu
public int Id { get; set; }
public string Name { get; set; }
}
Wytworny:
connection.Query<Part, Address, Part>(sql, (part, address) => {
part.Address = address;
});
Jak uzyskać klasę adresową, aby mieć informacje SiteOu?
Ten przykład nie jest to, co ja rzeczywiście robi bo ja rzeczywiście dostał
Query<T1,T2,T3,T4,T5,TResult>();
robię 1 Wybierz i 5 łączy w moim zapytaniu. Mam więc nadzieję, że nie potrzebuję więcej przeciążeń Query.
Obawiałem się, że to była odpowiedź. Problem polega na tym, że mam 5 sprzężeń, więc przesłonięcie Query jest krótkie dla mojego scenariusza. Przykład, o którym wspomniałem, to uproszczona wersja tego, co naprawdę mam. Mój obiekt częściowy ma naprawdę kilka dodatkowych właściwości, dostawcę, model itd ... –
Tak, niestety, Dapper obsługuje tylko do 5 typów. Inną opcją z pudełka byłoby użycie rozszerzenia QueryMultiple. Dodałem przykład z dokumentów Dappera do odpowiedzi. –
@ KyleRogers zaktualizowałeś aplikację do aktualnej wersji? Widzę 'Zapytanie'? –