LINQ statement - finde objekt med liste af objekter der indeholder id

Tags:    linq c#

Hejsa

Jeg har en liste af Buildings med en liste af Tenants og jeg skal så finde de huse som har en liste med Tenants objekter der har et specielt id.
Hvordan gør jeg lige det pænt i LINQ?

Har fundet ud af følgende
var foundResult =
from Buildings in sec.Buildings
where Buildings.Tenants

Problemet er så at jeg ved ikke hvordan jeg nu selecter de tenants ud som har id, og så stadig selecter buildings?

Har forsøgt mig med .Where:
var foundResult =
from Buildings in sec.Buildings
where Buildings.Tenants.Where(p => p.id == IDToFind)
select Buildings;

Men den kommer ud og siger den ikke kan konvertere min objekttype (Tenants) til bool.



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 11 karma
Sorter efter stemmer Sorter efter dato
Dette er mere effektivt end Jonatans forslag, da den ikke itererer alle tenants igennem, men derimod stopper hvis den finder et match.

Fold kodeboks ind/udCSharp kode 




Indlæg senest redigeret d. 18.09.2015 18:21 af Bruger #16372
Hvad med noget i stil med:

var foundResult =
from Buildings in sec.Buildings
where Buildings.Tenants.Where(p => p.id == IDToFind).Count() > 0
select Buildings;

Rettelse ... nok mere noget i stil med:

var foundResult =
from Buildings in sec.Buildings
where Buildings.Tenants.Count(p => p.id == IDToFind) > 0
select Buildings;




Indlæg senest redigeret d. 18.09.2015 01:01 af Bruger #2193
t