c# - LINQ- to retrieve the third layer list of objects from a list which contains three layers -


i have class structure in following.

   categorya    {          categoryb          {               categoryc               {                }          }     } 

i have linq query list of objects.

  var ls = categorya.categoryb.where(x => x.categorybobjectid == someid); 

this returns list of categoryb objects.

and want categoryc objects.

 var ls2= ls.where(x=>x.any(y=>y.categorycobjectid==someanotherid)) 

but ls2 returns categoryb objects.

what want list of categoryc objects fulfilling condition specified.

anyone can me change linq query accordingly ?

use selectmany.

var data = categorya.categoryb     .where(b => b.categorybobjectid == somebid)     .selectmany(b => b.categoryc)     .where(c => c.categorycobjectid == somecid)     .tolist(); 

Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -