EF Code First CTP5, используя метод Include с таблицей "многие ко многим"

У меня есть что-то вроде следующих таблиц отношений "многие ко многим".

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);
}

Но, как вы понимаете, я не могу его скомпилировать. На самом деле, первый фрагмент кода работает хорошо, так что в основном это нормально, хотя мне любопытно, есть ли обходной путь или нет.

Любая помощь будет принята с благодарностью,

Ю

6
задан Ladislav Mrnka 9 March 2011 в 14:47
поделиться