entity-framework-core - Include 和 ThenInclude 与多级集合
问题描述
我正在尝试查询具有多个集合级别的实体,以及单个级别的多个集合。我正在使用Include()
and ThenInclude()
,但没有太大成功。我发现的示例在同一级别上没有多个集合,并且我没有任何运气将该技术应用于我的用例。
这是我的实体的简化说明。带有 [] 的是集合:
Home
Areas[]
Area
Name
Categories[]
Name
Recommendations[]
Subcategories[]
Name
Recommendations[]
Area
Name
Categories[]
Name
Recommendations[]
Subcategories[]
Name
Recommendations[]
我已经做到了这一点:
result = Home
.Include(x => x.Areas)
.ThenInclude(a => a.Categories)
.ThenInclude(c => c.Subcategories)
.ThenInclude(s => s.Recommendations)
但是,这错过了Categories[].Recommendations[]
收藏。Recommendations[]
这是因为在同一级别(和Subcategories[]
)有两个集合。
关于构建此查询的方法的任何建议,以便我可以获得所需的结果?
谢谢。
解决方案
您必须Include
为每个级别调用:
result = Home
.Include(x => x.Areas)
.ThenInclude(a => a.Categories)
.ThenInclude(c => c.Subcategories)
.ThenInclude(s => s.Recommendations)
.Include(x => x.Areas)
.ThenInclude(a => a.Recommendations)
推荐阅读
- linux - 如何设置 Linux 用户有权上传/下载 1 个特定文件夹的文件?
- nuxt.js - Nuxt - 尽管在 nuxt.config.js 中进行了配置,但没有预加载字体
- java - 用另一种方法访问图形 - Java
- go - io.LimitReader 读取 http.Body 时的 EOF
- sql - 如何在 SQL Server 中复制表并保留主键和包含?
- javascript - chai 期望 to.have.all.keys 的行为与 hasOwnProperties 不同
- django - 在 heroku django 上免费上传不需要信用卡详细信息的媒体文件
- bash - 如果替换其命令字符串的命令失败,则强制 sh 失败
- python - Docker Container 中表单 POST 请求的烧瓶处理
- ios - UIButton 子类中的自定义属性未初始化