Entity framework 实体框架核心-主详细信息查询

Entity framework 实体框架核心-主详细信息查询,entity-framework,linq,entity-framework-core,master-detail,Entity Framework,Linq,Entity Framework Core,Master Detail,我看到很多帖子展示了如何在Entity Framework中执行查询以检索主详细信息数据,如下所示: IQueryable<myobj> foo = _context.Foos.Include(x => x.FooDetails).Where(x => x.Id == fooId); IQueryable foo=\u context.Foos.Include(x=>x.foodails)。其中(x=>x.Id==fooId); 但我得处理一个更难的案子。主细节,其中

我看到很多帖子展示了如何在Entity Framework中执行查询以检索主详细信息数据,如下所示:

IQueryable<myobj> foo = _context.Foos.Include(x => x.FooDetails).Where(x => x.Id == fooId);
IQueryable foo=\u context.Foos.Include(x=>x.foodails)。其中(x=>x.Id==fooId);
但我得处理一个更难的案子。主细节,其中每个细节都有自己的细节。 比如:

Foo-->foodails-->foodailsinfo

这可能吗?如果是,如何进行?当然,哑解决方案是存在的,它是使用循环。有没有更聪明的方法来达到这个目标

我试图编辑行代码

IQueryable<myobj> foo = _context.Foos.Include(x => x.FooDetails).Where(x => x.Id == fooId);
IQueryable foo=\u context.Foos.Include(x=>x.foodails)。其中(x=>x.Id==fooId);

但是我没有写任何有用的东西。

是的,这是可能的。在
Include
之后,您可以调用
然后调用Include

var foo = _context.Foos
    .Include(x => x.FooDetails)
    .ThenInclude(fd => fd.FooDetailsInfo)
    .Where(x => x.Id == fooId);

你的问题的目的是什么?我问这个问题是因为它会返回所有的字段-你需要什么和你根本不需要什么。这对性能和网络流量都不好。也许你需要更好的查询?