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
Post a Comment