Dynamics crm 2011 CRM fetchxml-超出AggregateQueryRecordLimit

Dynamics crm 2011 CRM fetchxml-超出AggregateQueryRecordLimit,dynamics-crm-2011,fetchxml,Dynamics Crm 2011,Fetchxml,我正在通过c#中的fetchxml访问dynamics CRM数据。当我尝试执行下面的查询时,我发现下面的错误 超出AggregateQueryRecordLimit。无法执行此操作 “+cIds+@” 如何解决这个问题 这是因为实体productclass包含的记录多于AggregateQueryRecordLimit设置中的当前限制 您可以使用下面介绍的powershell扩展来更改此设置: 有关设置的完整列表,请访问 请记住,更改此设置可能会影响性能。CRM正试图避免因数据量过大而窒

我正在通过c#中的fetchxml访问dynamics CRM数据。当我尝试执行下面的查询时,我发现下面的错误

超出AggregateQueryRecordLimit。无法执行此操作


“+cIds+@”


如何解决这个问题

这是因为实体
productclass
包含的记录多于
AggregateQueryRecordLimit
设置中的当前限制

您可以使用下面介绍的powershell扩展来更改此设置:

有关设置的完整列表,请访问
请记住,更改此设置可能会影响性能。

CRM正试图避免因数据量过大而窒息

作为优化流程的一种尝试,我建议运行多个查询,一个查询对应于
cIds
的每个元素(从而从
in
切换到
eq
操作符,IIRC)。最终,每个元素都会有一个结果集,可以在代码中合并这些结果集(使用LINQ很简单)

我的另一个建议是升级CRM:在最新版本中,您有汇总字段,这些字段完全是为对相关记录进行聚合而设计的

<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' aggregate='true'>
  <entity name='productclass'>
     <attribute name='classificationidid' groupby='true' alias='classidid'/>
     <attribute name='productidid' aggregate='count' alias='ProductCount' />
      <filter type='and'>
       <condition attribute='classidid' operator='in'>" + cIds + @"</condition>
      </filter>
  </entity>