Я только начинаю изучать Entity Framework 4, и меня немного смущает, как сводные таблицы входят в микс. Пример: я перевожу сайт с обзором видеоигр из PHP 5 / Kohana Framework в ASP.NET MVC 2. У меня есть несколько сводных таблиц для сопоставления отношений «многие ко многим». Пример:
Видеоигры могут быть доступны для нескольких платформ (например, серия Grand Theft Auto доступна для XBox 360, Playstation 3, ПК, PSP и даже Nintendo DS). И, естественно, на каждой платформе есть библиотека игр. Итак, у меня есть таблица с именем GamesPlatforms, которая действует как точка отсчета между играми и платформами:
GamePlatforms
- GamesPlatformsID - int, первичный ключ, личность
- GameID - int, внешний ключ из таблицы игр
- PlatofrmID - int, внешний ключ из таблицы 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();
}
??
По сути, я просто хочу знать, нахожусь ли я на правильном пути, поскольку ни один из увиденных мной уроков не касается отношений «многие ко многим».