Linq分组未检索深层实体

时间:2016-10-13 17:17:17

标签: c# linq linq-to-sql entity-framework-6

我正在尝试使用分组在足球数据库上使用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吗?

提前谢谢。

0 个答案:

没有答案