繁体   English   中英

有没有一种方法可以在不进行分页的情况下获取CRM中给定类型的实体的总数

[英]Is there a way how to get total count of entities of given type in CRM without paging

假设我有类似的查询

var countAlias = "entity_count";
var query = FormattableString.Invariant($@" 
  <fetch distinct='false' aggregate='true'> 
    <entity name='{entityName}'> 
      <attribute name='createdon' alias='{countAlias}' aggregate='count'/> 
    </entity> 
  </fetch>");

var response = organizationService.RetrieveMultiple(new FetchExpression(query));
var entity = response.Entities.First();
var count = (int)((AliasedValue)entity[countAlias]).Value;

除非有超过5万条记录,否则此方法效果很好-则达到了聚合限制。 有没有一种方法可以不分页地查询系统中实体的总数?

不幸的是,简短的回答是“ 否”

Fetchxml是进行聚合(如计数,总和等)的唯一选项-由于性能方面的考虑 ,该记录也具有50k的记录限制(上限可以针对本地部署进行调整)。

查询表达式,LINQ to CRM 不支持聚合。 这就是为什么我们可以从MS中选择分页cookie来迭代和计数记录。

或者,(不太可能)如果您通过推送数据同步来报告复制sql DB,则可以通过某些作业及时完成汇总计数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM