各位小伙伴们,今天是博主2016年发的第一篇文章。首先祝大家新年快乐。工资Double,哈哈。今天我们来看一个比較重要的Feature--使用Web API运行FetchXML查询!

对的,各位。你们没有听错,使用Web API运行FetchXML查询。在过去我们做这种事情但是要花九牛二虎之力哟,拼接大量的SOAP消息体并且还easy出错。

如今好了,我们自己能够在URL里面加上我们想要运行的FetchXML就可以,系统则会乖乖的把我们想要的数据返回回来。是不是非常美好呢!

言归正传,Web API的数据查询方式还是比較轻量级的。还是做不了复杂的查询,比如:聚合查询。分组查询。但是我们却能用FetchXML来轻松实现这些功能,接下来呢,博主就给大家演示一个简单的小样例:用Web API查询当前客户实体的记录总数。

首先呢。我们要构造一个FetchXML,例如以下:

<fetch aggregate="true">
<entity name="account">
<attribute name="accountid"/>
<attribute name="name" aggregate="count" alias="ct"/>
</entity>
</fetch>

然后我们要把这个FetchXml拼接到Web API的请求URL中,例如以下:

https://ghostbear.api.crm6.dynamics.com/api/data/v8.0/accounts?fetchXml=%3Cfetch%20aggregate=%22true%22%3E%3Centity%20name=%22account%22%3E%3Cattribute%20name=%22name%22%20aggregate=%22count%22%20alias=%22ct%22/%3E%3C/entity%3E%3C/fetch%3E

最后我们通过以下的代码对它进行调用,并将结果返回:

            HttpRequestMessage accCountReq = new HttpRequestMessage(HttpMethod.Get, webApiUrl + "/accounts?

fetchXml=%3Cfetch%20aggregate=%22true%22%3E%3Centity%20name=%22account%22%3E%3Cattribute%20name=%22name%22%20aggregate=%22count%22%20alias=%22ct%22/%3E%3C/entity%3E%3C/fetch%3E");
accCountReq.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessCode); HttpResponseMessage accCountResp = await client.SendAsync(accCountReq);
if (accCountResp.IsSuccessStatusCode)
{
JObject result = JsonConvert.DeserializeObject<JObject>(await accCountResp.Content.ReadAsStringAsync());
Console.WriteLine(result.ToString());
}

返回结果

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

Dynamics CRM 2015/2016 Web API:聚合查询的更多相关文章

  1. Dynamics CRM 2015/2016 Web API:新的数据查询方式

    今天我们来看看Web API的数据查询功能,尽管之前介绍CRUD的文章里面提到过怎么去Read数据,可是并没有详细的去深究那些细节,今天我们就来详细看看吧.事实上呢,Web API的数据查询接口也是基 ...

  2. Dynamics CRM 2015/2016 Web API:Unbound Custom Action 和 Bound Custom Action

    今天我们再来看看Bound/Unbound Custom Action吧,什么是Custom Action?不知道的小伙伴们就out了,Dynamics CRM 2013就有了这个功能啦.和WhoAm ...

  3. Dynamics CRM 2015/2016 Web API:Unbound Function 和 Bound Function

    今天我们来看看Dynamics CRM Web API Function 吧, 这是一个新概念,刚接触的时候我也是比較的迷糊.这种命名确实是和之前的那套基于SOAP协议的API全然联系不上.好了,不说 ...

  4. Dynamics CRM 2015/2016 Web API:Unbound Action 和 Bound Action

    上篇文章介绍了Bound/Unbound Function.今天我们来看看Action吧.像我之前说的:Function和Action之前的差别能够简单理解为.Function不改动数据,可是Acti ...

  5. 控制台程序(C#)不弹出登录窗口连接到Dynamics CRM Online的Web API

    微软动态CRM专家罗勇 ,回复331或者20190505可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 我之前的文章 控制台程序(C#)不弹出认证窗口连接到Dynami ...

  6. Dynamics CRM 2015/2016新特性之三十二:新增乐观并发处理

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复215或者20160328可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  7. Dynamics CRM 2015/2016新特性之三十三:有了ExecuteTransactionRequest,再也不用担心部分成功部分失败了

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复216或者20160329可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  8. 控制台程序(C#)不弹出认证窗口连接到Dynamics CRM Online的Web API

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复271或者20180602可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  9. Dynamics CRM 2015/2016新特性之三十四:有了插件日志,调试插件so easy!

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复217或者20160330可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

随机推荐

  1. tensorflow笔记3:CRF函数:tf.contrib.crf.crf_log_likelihood()

    在分析训练代码的时候,遇到了,tf.contrib.crf.crf_log_likelihood,这个函数,于是想简单理解下: 函数的目的:使用crf 来计算损失,里面用到的优化方法是:最大似然估计 ...

  2. A implementaion for 2D blue noise

    http://www.redblobgames.com/articles/noise/2d/

  3. 碰撞器与触发器[Unity]

    请看原帖,移步:Unity3d碰撞检测中碰撞器与触发器的区别 要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动.碰撞体是物理组件的一类,它要与刚体一起添加 ...

  4. 在python3.3后urllib2已经不能再用,只能用urllib.request来代替

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在python3.3后urllib2已经不能再用,只能用urllib.request来代替 response=urllib2.urlopen(' ...

  5. python 6种数据类型几及用法

    #!/usr/bin/python3 #python的基本语法和数据类型 #python3中 一行有多个语句,用分号分割(;) print("aaa") ;print(" ...

  6. JAVA读取MongoDB中的二进制图片并在jsp中显示

    http://blog.csdn.net/u012138706/article/details/52180665

  7. Sphinx/Coreseek 4.1的安装流程

    yum install mysql-devel libxml2-devel expat-devel cd /data/software/ wget http://www.coreseek.cn/upl ...

  8. 常用Git命令清单(转)

    文/阮一峰 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图 6 个命令,就可以了.但是熟练使用,恐怕要记住 60-100 个命令. 下面是我整理的常用 Git 命令清单.几 ...

  9. AJAX 简单例程示例

    index.html <html> <head> <script> function showHint(str) { if (str.length==0) { re ...

  10. 利用python的KMeans和PCA包实现聚类算法

    题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚类,聚成普通驾驶类型,激进类型和超冷静型3类 . 利用Python的scikit-learn包中的Kmeans算法 ...