簡體   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