Dynamics crm 2011 CRM 2011 sdk-获取实体计数而不检索数据行
我正在使用CRM 2011 SDK处理远程CRM 2011服务。我需要检索联系人的总数,大约超过20000 我尝试了一个简单的LINQ查询,例如,Dynamics crm 2011 CRM 2011 sdk-获取实体计数而不检索数据行,dynamics-crm-2011,Dynamics Crm 2011,我正在使用CRM 2011 SDK处理远程CRM 2011服务。我需要检索联系人的总数,大约超过20000 我尝试了一个简单的LINQ查询,例如,Aggregate c In service.ContactSet Into Count()(from,也和),但每一个查询都花了很长时间,因为下载的结果XML是一个完整的数据记录集(即使它只是GUID,也仍然是20000个GUID和它们所有的XML绒毛) 我似乎找不到如何简单地查询CRM 2011,因为它只返回一个数字——实体中记录的总数。可以说是“
Aggregate c In service.ContactSet Into Count()
(from,也和),但每一个查询都花了很长时间,因为下载的结果XML是一个完整的数据记录集(即使它只是GUID,也仍然是20000个GUID和它们所有的XML绒毛)
我似乎找不到如何简单地查询CRM 2011,因为它只返回一个数字——实体中记录的总数。可以说是“标量查询”。这是如何做到的?不幸的是,LINQ查询不支持聚合和分组 文件说: FetchXML支持QueryExpression plus的所有功能 聚合和分组。查询构建为XML语句 因此,您唯一的选择是使用FetchXML,如下所示:
string fetchQuery = @"<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='entity name'>
<attribute name='attribute name' aggregate='count' alias='aliasName'/>
</entity>
</fetch>";
EntityCollection value = _serviceProxy.Execute(new FetchExpression(fetchQuery));
<resultset morerecords="0"'>
<result>
<aliasName>20</aliasName>
</result>
</resultset>
string fetchQuery=@”
";
EntityCollection值=_serviceProxy.Execute(新的FetchExpression(fetchQuery));
返回的结果如下所示:
string fetchQuery = @"<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='entity name'>
<attribute name='attribute name' aggregate='count' alias='aliasName'/>
</entity>
</fetch>";
EntityCollection value = _serviceProxy.Execute(new FetchExpression(fetchQuery));
<resultset morerecords="0"'>
<result>
<aliasName>20</aliasName>
</result>
</resultset>
非常感谢!既然我知道了“fetchxml”这个词,谷歌上就打开了一个全新的世界