如何执行双重包括两个深度级别?

时间:2015-09-25 13:53:57

标签: c# linq include

我包括如下内容。

List<Donkey> donkeys = context.Donkeys
  .Include(donkey => donkey.Monkey)
  .ToList();

当然,每只猴子都有指向驴子的指针。然而,我只是注意到也有一些奇怪的东西,每个winkey指向它的猴子。在这种情况下我应该如何执行额外的包含?

List<Donkey> donkeys = context.Donkeys
  .Include(donkey => donkey.Monkey)
  .Include(donkey => donkey.Monkies.Wonkies)
  .ToList();

上述情况不会奏效,因为monkies不知道是什么。这有点令人惊讶,因为如果我们查看monkies,我们可以将wonkies包含在其中......所以我很确定我的语法错误。

是否有语法允许我将这些图片带入这张照片?谷歌搜索什么都没有,但可能是因为我无法真正描述它。

1 个答案:

答案 0 :(得分:3)

List<Donkey> donkeys = context.Donkeys
  .Include(donkey => donkey.Monkies)
  .Include(donkey => donkey.Monkies.Select(monkey => monkey.Wonkies))
  .ToList();

List<Donkey> donkeys = context.Donkeys
  .Include("Monkey")
  .Include("Monkey.Wonkey")
  .ToList();