不确定如何为我的查询SQL生成Linq

时间:2014-03-12 12:30:24

标签: sql asp.net-mvc linq

我有以下表格: 表定义:

季节(ID,说明,StartDate)
游戏(ID,季节ID,说明,日期,类型,发布,播放次数)
结果(ID,PlayerID,GameID,位置,积分)
播放器(ID,姓,姓等......)

我想知道玩家参加过哪个季节。有人能指出我正确的方向使用EF获取我的linq查询吗?我遇到了路障。我很确定我需要在某个地方使用Distinct()但是无法理解它。

2 个答案:

答案 0 :(得分:0)

只需要将您的表连接在一起(对表定义做出一些假设):

from s in seasons
join g in games on s.Id equals g.seasonId
join r in results on g.Id equals r.gameId
join p in players on r.Id equals p.resultId
where p.Id == playerIdYouCareAbout
select s.whatever

这将为您带来季节,如果需要,您可以使用Distinct

答案 1 :(得分:0)

您应该能够获得Season个对象的列表并致电Distinct

int playerID = {something};

var seasons = (from s in db.Seasons
               join g in db.Games on s.ID equals g.SeasonID
               join r in db.Results on g.ID equals r.GameID
               where r.PlayerID == playerID
               select s
              ).Distinct();