I have the following entities (pseudocode to save space)
Program [ int Id, string Name, List<ProgramFoodType> ProgramFoodTypes, List<ProgramFood> ProgramFoods] ProgramFoodType[ int Id, int ProgramId, int Type, bool IsActive] ProgramFood [ int Id, int ProgramId, Food Food, FoodType FoodType] Food [int Id, string Name] FoodType [int Id, string Name]
my task is to get a single Program with its associated ProgramFoodTypes with the condition that ProgramFoodType must be active and ProgramFoods with related Food and FoodType
I used the following:
1- the query below will retrieve the details of ProgramFoodTypes and ProgramFoods , but it will list all active and inactive ProgramFoodTypes
var program = mEntities.Programs .Include(p =>p.ProgramFoodTypes) .Include(p =>p.ProgramFoods.Select(f =>f.Food)) .InClude(p =>p.ProgramFoods.Select( f =>f.FoodType)) .Where(m =>m.Id== Id);
2- below the request will receive details, but no Food and FoodType
var program = (from p in mEntities.Programs where p.Id ==Id select new { Program = p, ProgramFoodTypes = from pf in p.ProgramFoodTypes where pf.IsActive select pf, ProgramFoods = p.ProgramFoods
How to include the type of nutrition and food in the second request?
Monah source share