我有一种情况,我需要在 Orchard 用户列表上显示信息。在这种情况下,我通过 GetMany 获取 Orchard 用户列表。
_services.ContentManager.GetMany<UserPart>(setOfAllNeededUsers, VersionOptions.Latest, new QueryHints())
(在我的情况下,setOfAllNeededUsers 是我从上一个查询中获得的用户 ID 的 IEnumerable)
我遇到的问题是 Orchard.Roles 模块。Orchard.Roles 为 User 类型添加了一个 ActivatingFilter 来为用户加载角色信息。这本质上不是问题,但是每个用户对角色信息的请求都是单独完成的。查询外部 DB 20、30,甚至可能 100 次以获取此信息是行不通的。有没有办法将这些批处理成一个请求?
注意:以下对我的查询的修改没有任何帮助:
_services.ContentManager.GetMany<UserPart>(setOfAllNeededUsers, VersionOptions.Latest, new QueryHints().ExpandParts<UserRolesPart>())