LinQ - selekcja danych

LinQ - selekcja danych
DU
  • Rejestracja:około 9 lat
  • Ostatnio:około 4 lata
  • Postów:143
0

Cześć,
mam taki oto problem, że w bazie mam 3 tabele - struktura, informacje i pliki. Struktura - Informacje (wiele do wielu), Informacja - Pliki (jeden do wielu). Ogólnie wygląda to jak lista w liście w liście. Potrzebuję wyciągnąć wszystkie dane z tabeli Informacje i nazwy z tabeli Pliki dla konkretnej pozycji w Strukturze. Jak to zrobić przy pomocy linq? Próbuję z selektami ale same stringi dostaję, join nie bardzo mi wychodzi.
Jeśli wszystko wyciągnę to przy mapowaniu na ViewModel program się wykrzacza właśnie na mapowaniu plików (poza tym to nie jest dobre rozwiązanie wyciągać pliki z bazy tylko żeby mieć ich nazwę i id do pobrania).
context.Structs.Where(s => s.ID == idStruct).SelectMany(s =>s.Information.Select(z => z.File.Select(v => v.Name)));

Pomożecie?

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 15 godzin
  • Lokalizacja:Wrocław
2

Może coś takiego?
var models = context.Structs.Where(s => s.ID == idStruct).Select(s => new InformationModel { Information = s.Information, FileNames = s.Information.SelectMany(z => z.File.Select(v => v.Name))})

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.