我正在处理LINQ,我有以下情况:
我有一个数据库,代表不同日期的团队之间的体育比赛,组织如下:
Table MATCH
___________
MatchID
MatchLocation
MatchDate
Table MATCHTEAM
________________
MatchID
TeamID
HomeOrAway
Points
Table TEAM
__________
TeamId
TeamName
现在我希望能够查询数据库以查看特定团队所玩的所有匹配项以及每次匹配的相关团队数据。到目前为止,我已经能够执行一个执行GROUP JOIN的查询,如下所示:
Using MyMatchEntites As New MatchEntities
Return (From M In MyMatchEntites.Match, _
MT In MyMatchEntites.MatchTeam _
Where M.MatchId = MT.Match.MatchId And _
MT.Team.TeamId = inputTeamId _
Select M _
Group Join MT2 In MyMatchEntites.MatchTeam _
On MT2.Match.MatchId Equals M.MatchId _
Into _
MatchTeams = Group).ToList
End Using
这为我提供了输入球队所进行的比赛列表,每个记录都有一个相关的比赛列表。但是,我还想在此子列表中包含团队名称以供显示。如何在查询中创建的MatchTeams组中包含TeamName字段?
答案 0 :(得分:0)
只是一个猜测......
是否可以做类似的事情:
Select M, T _
Group Join MT2 In MyMatchEntites.MatchTeam _
On MT2.Match.MatchId Equals M.MatchId _
Group Join T In MyMatchEntites.Team
On T.TeamId = MT2.TeamId
我很确定你可以用LINQ做多个GroupJoins,但我不知道在select子句中检索多个实体。顺便说一句,这将返回整个Team实体,而不仅仅是字段TeamName。
希望这有帮助。