我正在尝试使用分组在足球数据库上使用Linq查询。虽然基本查询基本上有效,但子实体未正确加载。
我正在使用带有SQL和Linq的实体框架6。
数据库结构如下,每个季节包含许多游戏,每个游戏都有裁判,主队和客队。
数据库的抽象表示可以描述为:
Season->ID
Season->List<Game> Games
Game->ID
Game->Season
Game->HomeTeam
Game->AwayTeam
Team->ID
Team->Name
我的c#linq查询如下:
var groupedGames = from game in Games
group game by game.Season
into seasonGames
orderby seasons.Key.ID
select seasonGames;
这基本上按季节分组游戏,但是,当我使用下面的代码询问分组时,没有提及主队或客队。
foreach(IGrouping<Season, Game> season in groupedGames)
{
Console.WriteLine("Season:{0}", season.Year);
foreach(Game game in season)
{
Console.WriteLine("Home:{0}", game.HomeTeam.Name);
Console.WriteLine("Away:{0}", game.AwayTeam.Name);
}
}
当我访问game.HomeTeam.Name时,我得到一个NullReferenceException。
我已将延迟加载设置为OFF,因此我希望我需要明确地获取HomeTeam&amp;来自Team表的AwayTeam。我可以在这个Linq查询中使用Include吗?
提前谢谢。