【问题标题】:Entity Framework Core - Master Details Details queryEntity Framework Core - Master Details Details 查询
【发布时间】:2020-11-11 16:28:42
【问题描述】:

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

IQueryable<myobj> foo = _context.Foos.Include(x => x.FooDetails).Where(x => x.Id == fooId);

但我必须处理一个更难的情况。一个主细节,每个细节都有自己的细节。 比如:

Foo --> FooDetails --> FooDetailsInfo

这可能吗?如果是,如何?当然存在愚蠢的解决方案,它使用循环。有没有更聪明的方法来实现这个目标?

我试图编辑行代码

IQueryable<myobj> foo = _context.Foos.Include(x => x.FooDetails).Where(x => x.Id == fooId);

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

【问题讨论】:

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

标签: entity-framework linq entity-framework-core master-detail


【解决方案1】:

是的,这是可能的。在Include之后可以拨打ThenInclude

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2020-09-11
    • 1970-01-01
    相关资源
    最近更新 更多