EF 6 include() 不解决 N + 1

EF 6 include() not solving N + 1

我有一个 class 类似于

 public class Entity
 {
    virtual ICollection<Contact> Contacts { get; set; }
    virtual ICollection<PhoneNumber> PhoneNumbers { get; set; }
 }

在我做的存储库中

  return Context.Entities
                .Include(x => x.Contacts)
                .Include(x => x.PhoneNumbers)
                .AsNoTracking()
                .toList();

EFProf 仍然显示 Select N + 1??我以为 include 应该处理这个?

编辑:问题似乎是在序列化过程中出现的?我只是想 return 通过 Web API 分页的对象列表。

在这种情况下,相关实体具有延迟加载关系。

我的原始模型(Contact)上的一个属性本身有一个 phone 数字列表。因此,尽管没有对联系人进行延迟评估,但每个联系人都有自己的 phone 个延迟加载的号码,因为它是虚拟的并且没有明确包含在内。