tôi có các đối tượng sau (mã giả để tiết kiệm không gian)Entity Framework với Include và chọn cùng
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]
nhiệm vụ của tôi là để có được đơn Program
với liên quan ProgramFoodTypes
của nó với điều kiện ProgramFoodType cần chủ động và ProgramFoods
với liên quan tổ chức Food
và FoodType
tôi đã sử dụng sau đây cho đến nay
1- truy vấn dưới đây sẽ lấy các chi tiết của ProgramFoodTypes
và ProgramFoods
nhưng nó sẽ mang lại tất cả các hoạt động và không hoạt động 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- truy vấn dưới đây sẽ lấy các chi tiết nhưng thiếu Food
và 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 // here i can't add include statement
}).ToArray().Select(m => m.Program);
cách đưa thức ăn và các loại thực phẩm trong truy vấn thứ hai?
Nó hoạt động tốt, chỉ cần tôi thêm ProgramFood nó tự hoặc nó sẽ không được lấy ra, cảm ơn bạn – Monah