У меня есть что-то вроде следующих таблиц отношений "многие ко многим".
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);
}
Но, как вы понимаете, я не могу его скомпилировать. На самом деле, первый фрагмент кода работает хорошо, так что в основном это нормально, хотя мне любопытно, есть ли обходной путь или нет.
Любая помощь будет принята с благодарностью,
Ю