zoukankan      html  css  js  c++  java
  • 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()); }


    返回结果


  • 相关阅读:
    Seial port API and tool
    Simple HTTPD
    VC与Cygwin的结合
    zlib
    嵌入式开发系统编程文件格式解析
    ZB4O
    Wireshark基本介绍和学习TCP三次握手
    freeware
    Console2 A Better Windows Command Prompt
    iniparser
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7364506.html
Copyright © 2011-2022 走看看