我正在使用CRM 2011 SDK来使用远程CRM 2011服务.我需要检索联系人总数,超过20000.
我尝试过一个简单的LINQ查询,例如.Aggregate c In service.ContactSet Into Count()(从这些例子,也是这个建议和这个建议),但每个人花了很长时间,因为下载的结果XML是整个数据记录集(即使它只是GUID,那仍然是20000 GUID和他们所有的XML漏洞).
我似乎无法找到如何简单地查询CRM 2011,因为它返回一个数字 - 一个实体中的记录总数.可以说是一个"标量查询".这是怎么做到的?
不幸的是,LINQ查询不支持聚合和分组.
文件说:
FetchXML支持QueryExpression的所有功能以及 聚合和分组.查询构建为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));
Run Code Online (Sandbox Code Playgroud)
返回的结果将如下所示:
<resultset morerecords="0"'>
<result>
<aliasName>20</aliasName>
</result>
</resultset>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2433 次 |
| 最近记录: |