LINQ - Filtrere en child collection
Hej EksperterJeg har et problem der nager mig noget så forfærdeligt, og som jeg ikke kan finde en løsning på.
Grundlæggende handler det om at kunne filtere i en "child-collection" med LINQ - eksempel følger:
Tabel 1 -> Spedition_order
Tabel 2 -> Spedition_order_item_pallet
Tabel 3 -> Pallet
Tabel 2 er lavet for at pallerne kan kører med flere Spedition_order.
Jeg ønsker dels at kunne filtere på den specifikke Spedition_order, men også at sortere de Paller fra, der evt. måtte være blevet slettet undervejs.
Pallerne bliver ikke slettet fra Db'en, men får en slettedato, og det skal således være muligt at kunne synliggøre pallen igen ved at fjerne flaget.
Jeg har lidt kode som illusterer problemet lidt mere konkret, og som henter data ud via Entity-frameworket.
----------------------------------------------------------
Dim entities = myEntity.Instance.Context. _
Spedition_order.Include_
Include("Spedition_order_item_pallet.Pallet")
Dim query = From Spedition_order In entities _
Where Spedition_order.Spedition_order_id = _ myDistributionOrderObj.Spedition_order_id _
AND Spedition_order.Spedition_order_item_pallet.Where(Function(i) i.Pallet.Pallet_deleted_date = Nothing)
Select Spedition_order
mySpeditionOrderObj = query.FirstOrDefault
------------------------------------------------------------
Det er altså specielt filtreringen på den underliggende collection jeg ønsker at filtere på, da det andet virker upåklageligt.
Spedition_order.Spedition_order_item_pallet.Where(Function(i) i.Pallet.Pallet_deleted_date = Nothing)
Håber nogen kan tænde et lys et sted :-)