You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CRM中获取指定类型实体总数且规避聚合限制?

解决Dataverse聚合查询5万条限制的实体总数统计方法

哈哈,这个坑我踩过!用Fetch做聚合统计确实会碰到5万条的上限,不过Dataverse(或Dynamics 365)有专门的官方API能解决这个问题,完全不用分页就能拿到实体的总记录数,而且效率还更高。

直接上能用的代码示例:

// 可以一次性传入多个实体逻辑名称,批量统计
var targetEntities = new List<string> { entityName };

// 创建统计请求
var countRequest = new RetrieveTotalRecordCountRequest
{
    EntityNames = targetEntities.ToArray()
};

// 执行请求并获取响应
var countResponse = (RetrieveTotalRecordCountResponse)organizationService.Execute(countRequest);

// 提取目标实体的总记录数
var totalCount = countResponse.TotalRecordCount[entityName];

为什么这个方法能绕过限制?

  • RetrieveTotalRecordCountRequest是官方专门设计的计数API,它不受Fetch聚合查询的5万条上限限制
  • 它读取的是系统后台维护的统计缓存数据,不需要扫描全表,性能比聚合查询好太多
  • 支持一次性查询多个实体的记录数,非常适合批量统计的场景

补充小细节

如果你的业务需要绝对实时的统计结果(比如刚创建的记录还没同步到统计缓存),可以给请求加上IncludeOffline = true参数,不过大多数场景下,默认的统计数据已经足够准确,而且性能更优。

至于你原来的Fetch聚合查询触发限制,是因为Dataverse对聚合查询的结果集有默认的5万条上限,而这个专门的计数请求是官方提供的绕开限制的方案,完全符合平台规范。


内容的提问来源于stack exchange,提问作者Ondrej Svejdar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:20:56