【发布时间】:2010-09-01 20:40:08
【问题描述】:
我刚开始学习 Entity Framework 4,对数据透视表如何进入组合有点困惑。恰当的例子:我正在将一个视频游戏评论网站从 PHP 5/Kohana 框架迁移到 ASP.NET MVC 2。我有一些数据透视表来映射我拥有的多对多关系。示例:
视频游戏可用于多个平台(例如,侠盗猎车手系列可在 Xbox 360、Playstation 3、PC、PSP 甚至 Nintendo DS 上使用)。当然,每个平台都有一个游戏库。所以,我有一个名为 GamesPlatforms 的表,它充当游戏和平台之间的枢纽:
游戏平台
- GamesPlatformsID -- int、主键、身份
- GameID -- 整数,Games 表中的外键
- 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();
}
??
基本上,我只是想知道我是否走在正确的轨道上,因为我见过的教程都没有处理多对多关系。
【问题讨论】:
标签: linq-to-entities entity-framework-4 pivot-table