Jak poprawnie odczytywać dane z wielu tabel z Dapperem?

0

W projekcie do połączeń z bazą używamy Dappera. Na jednym z ekranów potrzebuję ściągnąć listę danych, która tak naprawdę powstanie z połączeń wielu tabel z bazy danych. Przykładowo tabele: Item, Order, Client i tak dalej. Oczywiście nie z każdej tabeli potrzebuje wszystkie pola, przykładowo z Item tylko nazwę, a inne 10 pól mnie nie interesuje. Zastanawiam się teraz jak do tego najlepiej podejść. Napisałem już SQL, który zrobi JOINy tabel itp., jednak nie mam pojęcia jak go wykorzystać, widzę tak naprawdę 2 opcje:

1.) Zrobić klasę, która posiada wszystkie pola, które chcę pobrać z bazy z różnych tabel i po prostu zrobić w dapperze .Query<KlasaZbiorcza>(...)
Czyli KlasaZbiorcza będzie miała wszystkie pola które potrzebuje, CenaPrzedmiotu, WagaPrzedmiotu, NazwaKlienta, WiekKlienta itd.

2.) Porobienie do każdej tabeli entity, ItemEntity, OrderEntity itp. i wykorzystać MultiMapping w Dapperze : .Query<ItemEntity, OrderEntity, ... itd.>() a następnie w Callbacku w repository to składać w całość.

Może są jeszcze jakieś inne opcje, będę wdzięczny za jakieś wskazówki

0

Niestety, ale dostałem już odpowiedź na to pytanie w swoim wątku i dobrych wiadomości nie mam.
Dapper- pomoc w zapytaniu z multimappowaniem

0

Tworzenie osobnej klasy dla danej listy zawierajacej wylacznie potrzebne pola jest jak najbardziej slusznym rozwiazaniem.

0

Zawsze możesz zrobić z tego widok, ale jeśli koniecznie chcesz użyć ORMa w tym konkretnie przypadku, to bez dodatkowego modelu się nie obejdzie. Zawsze możesz po prostu odczytać ten widok "po staremu" - DataReaderem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1