Orchard ユーザーのリストに情報を表示する必要がある状況があります。この場合、GetMany を介して Orchard ユーザーのリストを取得します。
_services.ContentManager.GetMany<UserPart>(setOfAllNeededUsers, VersionOptions.Latest, new QueryHints())
(私の場合、 setOfAllNeededUsers は、以前のクエリから取得したユーザー ID の IEnumerable です)
私が直面している問題は、Orchard.Roles モジュールにあります。Orchard.Roles は、ActivatingFilter を User タイプに追加して、ユーザーのロール情報を読み込みます。これは本質的に問題ではありませんが、すべてのユーザーの役割情報の要求は個別に行われます。この情報を取得するために、外部 DB に 20 回、30 回、場合によっては 100 回もクエリを実行することは、まったく実行できません。これらを 1 つのリクエストにバッチ処理する方法はありますか?
注: 私のクエリに対する次の変更は、まったく役に立ちません。
_services.ContentManager.GetMany<UserPart>(setOfAllNeededUsers, VersionOptions.Latest, new QueryHints().ExpandParts<UserRolesPart>())