Dynamics crm 2011 CRM fetchxml-超出AggregateQueryRecordLimit
我正在通过c#中的fetchxml访问dynamics CRM数据。当我尝试执行下面的查询时,我发现下面的错误 超出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正试图避免因数据量过大而窒
“+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>