У меня есть что-то вроде следующих много-много таблиц отношений.
public class Shop{
public int Id { get; set; }
public virtual ICollection<ShopFacility> ShopFacilities { get; set; }
}
public class ShopFacility
{
public int Id { get; set; }
public int ShopId { get; set; }
public int FacilityId { get; set; }
public virtual Shop Shop { get; set; }
public virtual Facility Facility { get; set; }
}
public class Facility
{
public int Id { get; set; }
public virtual ICollection<ShopFacility> ShopFacilities { get; set; }
}
и получите информацию о магазинах.
using (var context = new DataContext())
{
return context.Shops.Include(s => s.ShopFacilities)
.Include("ShopFacilities.Facility") // This line
.First(x => x.Id == id);
}
Что я хочу сделать, это вызвать метод Include с лямбда-выражением для отношения «многие ко многим» вместо строки. Я пытался реализовать, как показано ниже:
using (var context = new DataContext())
{
return context.Shops.Include(s => s.ShopFacilities)
.Include(s => s.ShopFacilities.Facility) // Cannot compile
.First(x => x.Id == id);
}
Но, как ты догадываешься, я не могу это скомпилировать. На самом деле, первый фрагмент кода работает хорошо, так что в принципе все в порядке, хотя мне любопытно, есть ли обходной путь или нет.
Буду признателен за любую помощь,
Yoo