Я только начинаю изучать Entity Framework 4 и немного смущен тем, как сводные таблицы входят в микс. Пример: я переношу сайт обзора видеоигр с PHP 5/Kohana framework на ASP.NET MVC 2. У меня есть несколько сводных таблиц для сопоставления отношений «многие ко многим», которые у меня есть. Пример:Entity Framework 4 - сводные таблицы и навигационные свойства
Видео игры могут быть доступны для нескольких платформ (например, серия Grand Theft Auto доступна на XBox 360, Playstation 3, ПК, PSP и даже Nintendo DS). И, естественно, на каждой платформе есть библиотека игр. Итак, у меня есть таблица с именем GamesPlatforms, который действует как стержень между ними, а, игр и платформ:
GamePlatforms
- GamesPlatformsID - INT, первичный ключ удостоверения
- GameID - ИНТ, иностранные ключ от игр таблицы
- PlatofrmID - междунар, внешний ключ из таблицы Platforms
Я просто с трудом, видя, как это будет переведено в EF4 навигации про и, в свою очередь, как я мог писать запросы LINQ, а не традиционные JOIN. Это так просто, как что-то вроде:
using(var context = MyEntities();)
{
var gamePlatformCount = (from gpc in context.Games
where gpc.GamesPlatforms.Platforms.Name == "XBox 360"
select gpc).Count();
}
??
В принципе, я просто хочу знать, нахожусь ли я на правильном пути, поскольку ни один из обучающих программ, которые я видел, не имеет отношения к отношениям «многие ко многим».