我有以下数据库结构:一个项目包含一个项目基准列表,该列表具有一个由行业基准列表组成的全球基准。因此,项目 -> 项目基准 -> 全球基准 -> 行业基准。在编写查询以获取项目的所有基准时,我需要按扇区 id 过滤扇区基准,以便我只有那些与项目扇区相对应的扇区基准。
我试过:
_dbContext.ProjectBenchmarks
.Include(b => b.GlobalBenchmark)
.ThenInclude(gb => gb.SectorBenchmark
.Where(sb => sb.SectorId == sectorId))
但它不会按行业 ID 过滤行业基准,我得到了所有行业基准。我怎么能做到这一点?
更新:根据评论,将
.ToList()
添加到此查询可解决问题。现在我需要进一步解决我遇到的问题:这个查询在 mapper.ProjectTo(<query here>).ToList()
内部,而 ToList()
在外面。我如何过滤并使用映射器来映射我的实体?