Entity Framework 4 の学習を始めたばかりで、ピボット テーブルがどのように混在するかについて少し混乱しています。適切な例: ビデオ ゲームのレビュー サイトを PHP 5/Kohana フレームワークから ASP.NET MVC 2 に移行しています。多対多の関係をマッピングするピボット テーブルがいくつかあります。例:
ビデオ ゲームは、いくつかのプラットフォームで利用できます (たとえば、グランド セフト オート シリーズは、XBox 360、プレイステーション 3、PC、PSP、さらにはニンテンドー DS でも利用できます)。そして当然のことながら、各プラットフォームにはゲームのライブラリがあります。したがって、ゲームとプラットフォームの間のピボットとして機能する GamesPlatforms という名前のテーブルがあります。
ゲームプラットフォーム
- GamesPlatformsID -- int、主キー、ID
- GameID -- ゲーム テーブルからの int、外部キー
- PlatofrmID -- int、Platforms テーブルからの外部キー
これがどのように EF4 ナビゲーション プロパティに変換されるか、そして従来の JOIN ではなく LINQ クエリをどのように記述できるかを理解するのに苦労しています。次のような単純なものですか?
using(var context = MyEntities();)
{
var gamePlatformCount = (from gpc in context.Games
where gpc.GamesPlatforms.Platforms.Name == "XBox 360"
select gpc).Count();
}
??
基本的に、私が見たチュートリアルのどれも多対多の関係を扱っていないので、私が正しい方向に進んでいるかどうかを知りたいだけです。