0

在访问与自定义内容类型的内容项关联的分类术语时,我遇到了与选择 N+1 问题相关的性能下降。

过去,我通过预先获取所有相关内容 ID 来解决此类问题,因此我可以使用 ContentManager 的 GetMany 方法一次性获取所有内容。例如,这对于 MediaLibraryPickerField 非常有效,因为我可以使用字段上的 Ids 属性轻松获取媒体内容 ID。这是一个类似于我所做的示例:Eager loading a field

我想使用类似的方法来获取分类术语,但我不知道如何在我的内容项上获取分类字段的术语 ID。似乎我只能访问导致选择 N+1 的延迟加载术语部分,因为它们是为每个内容项检索的。

有没有办法在不检索整个术语的情况下只获取分类字段的术语 ID?我花了一些时间在分类模块源中进行挖掘,但我没有找到任何方法来做到这一点。

有什么建议么?

4

1 回答 1

0

尝试注入IRepository<TermContentItem>。然后,您应该能够查询它,超越服务本身提供的内容。

于 2014-07-24T20:58:51.893 回答