c# - Get 3 layered object using entity framework -


if have manufacturer object has list of cars, , car object has list of features how return manufacturer object contains list of cars , each car in list contains list of features. every example see online uses 2 layered object. have , returns manufacturer , list of cars, each car returns 0 results list of features

        manufacturer man = new manufacturer();         using (myentities db = new myentities())         {             man= (from m in db.manufacturer.include("cars")                     m.name.trim().equals("ford")                     select m).firstordefault();         }         return man; 

mayif want use lazy loading, declare navigation properties 'virtual'

if want eager load related objects, can use includes :

.include("cars").include("cars.features") 

one drawback of method query may expensive execute. reason multiple join used , size of resulting server answer may pretty big.

you can load 1 level @ time strategy :

    manufacturer man = new manufacturer();     using (myentities db = new myentities())     {         man= (from m in db.manufacturer                 m.name.trim().equals("ford")                 select m).firstordefault();          models = man.selectmany(m => m.cars);          features = models.selectmany(m => m.features);          man.load();         models.load();         features.load();     }     return man; 

Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -