检索分类法字段的术语ID

时间:2014-07-22 16:17:24

标签: orchardcms orchardcms-1.8

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

我过去通过预先获取所有相关内容ID来处理这类问题,因此我可以使用ContentManager的GetMany方法一次性完成所有这些内容。例如,这对MediaLibraryPickerField运行良好,因为我可以使用字段上的Ids属性轻松获取媒体内容ID。这是一个与我所做的相似的例子:Eager loading a field

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

有没有办法在不检索整个术语的情况下获得分类法字段的术语ID?我花了一些时间在Taxonomy模块源代码中挖掘,但我没有找到任何办法。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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