LinQ - selekcja danych

LinQ - selekcja danych
DU
  • Rejestracja: dni
  • Ostatnio: dni
  • 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
  • Rejestracja: dni
  • Ostatnio: dni
  • 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.