如何在两个深度级别上执行双重包含?

How to perform double include on two levels of depth?

我包括以下内容。

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

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

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

上面的方法是行不通的,因为小猴子不知道小猴子。这有点令人惊讶,因为如果我们查找 monkies,我们可以将 wonkies 包含在其中......所以我很确定我只是错误地理解了语法。

有没有语法可以让我把这些古怪的东西带到这张照片中?谷歌搜索什么也没有,但可能是因为我描述得不够好。

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();