Dynamics CRM 2015/2016 Web API:聚合查询
各位小伙伴们,今天是博主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:聚合查询的更多相关文章
- Dynamics CRM 2015/2016 Web API:新的数据查询方式
今天我们来看看Web API的数据查询功能,尽管之前介绍CRUD的文章里面提到过怎么去Read数据,可是并没有详细的去深究那些细节,今天我们就来详细看看吧.事实上呢,Web API的数据查询接口也是基 ...
- Dynamics CRM 2015/2016 Web API:Unbound Custom Action 和 Bound Custom Action
今天我们再来看看Bound/Unbound Custom Action吧,什么是Custom Action?不知道的小伙伴们就out了,Dynamics CRM 2013就有了这个功能啦.和WhoAm ...
- Dynamics CRM 2015/2016 Web API:Unbound Function 和 Bound Function
今天我们来看看Dynamics CRM Web API Function 吧, 这是一个新概念,刚接触的时候我也是比較的迷糊.这种命名确实是和之前的那套基于SOAP协议的API全然联系不上.好了,不说 ...
- Dynamics CRM 2015/2016 Web API:Unbound Action 和 Bound Action
上篇文章介绍了Bound/Unbound Function.今天我们来看看Action吧.像我之前说的:Function和Action之前的差别能够简单理解为.Function不改动数据,可是Acti ...
- 控制台程序(C#)不弹出登录窗口连接到Dynamics CRM Online的Web API
微软动态CRM专家罗勇 ,回复331或者20190505可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 我之前的文章 控制台程序(C#)不弹出认证窗口连接到Dynami ...
- Dynamics CRM 2015/2016新特性之三十二:新增乐观并发处理
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复215或者20160328可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- Dynamics CRM 2015/2016新特性之三十三:有了ExecuteTransactionRequest,再也不用担心部分成功部分失败了
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复216或者20160329可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- 控制台程序(C#)不弹出认证窗口连接到Dynamics CRM Online的Web API
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复271或者20180602可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...
- Dynamics CRM 2015/2016新特性之三十四:有了插件日志,调试插件so easy!
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复217或者20160330可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
随机推荐
- 【DIOCP3-说明书】DIOCP3的输出日志
DIOCP3除了有详细的监控面板之外,还有详细的输出日志,当然需要打开日志编译开关! 在工程选项加入DEBUG编译指令,这样在运行中就可以看到DIOCP3的运行详细日志 日志输出在EXE相同目录的LO ...
- 命令生成和运行android项目
转自:http://wiki.dourok.info/doku.php/%E7%BC%96%E7%A0%81/android/%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F% ...
- LeetCode: Triangle 解题报告
Triangle Given a triangle, find the minimum path sum from top to bottom. Each step you may move to a ...
- spring 过滤器
Spring的web包中中有很多过滤器,这些过滤器位于org.springframework.web.filter并且理所当然地实现了javax.servlet.Filter,不过实现的方式有以下几类 ...
- 基于jQuery点击图像居中放大插件Zoom
分享一款基于jQuery点击图像居中放大插件Zoom是一款放大的时候会从原图像的位置以动画方式放大到画面中间,支持点击图像或者按ESC键来关闭效果.效果图如下: 在线预览 源码下载 实现的代码. ...
- 基于jquery多种切换效果的焦点图(兼容ie6)
随着html5和css3的诞生.各种非常酷.非常炫的网页焦点图在各个前端技术网上满天飞.基于html5和css3技术的焦点图有一个弊端就是要在ie9以上才支持.这让需兼容ie6到ie8的页面又爱又恨. ...
- Android 好用和常用的控件
好用的库 https://github.com/daimajia/AndroidSwipeLayout 拖动删除 https://github.com/bingoogolapple/BG ...
- ResolveUrl的用法
<script src='<%=ResolveUrl("~/UserControls/M3/Validate.js") %>' type="text/j ...
- C语言 · 01背包
最近老碰到DP问题,没整过,在网上有不少资料,转载此篇自:http://blog.csdn.net/libin56842/article/details/9338841 有N件物品和一个容量为V的背包 ...
- JTree常用方法
private JTree jtNetDevice;//数组件申明private JScrollPane jspTree;//滚动面板申明 1.初始化 DefaultMutableTreeNo ...