码迷,mamicode.com
首页 > Windows程序 > 详细

Dynamics CRM 2015/2016/365 Web API:级联查询

时间:2016-11-17 20:48:56      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:sha   status   message   tpm   客户端   method   data   exp   csharp   

级联查询,即为在一次查询请求中吧父子记录统统查询出来的行为。使用Web API进行这样的查询非常的方便,主需要在OData Query URL中加入$expand关键字即可,不管在轻客户端或重客户端,调用都非常的方便。

我们来看一个使用级联查询的Query URL实例:

GET https://crmhomedev06.api.crm6.dynamics.com/api/data/v8.2/accounts(79309b7b-8bac-e611-80f9-1458d05a2ab0)?$expand=contact_customer_accounts($select=fullname) 


$expand关键字后面加上父子记录的关系名称,在这里,我们还可以在关系名称里面加上子记录的投影,决定哪些列可以被返回。在很多情况下,我们能在一次请求中获取所有的数据。如果子记录非常的多,系统会返回子记录的检索URL,我们通过访问这个URL才能获取完整的子记录。 具体情况,可以参考下面的C# 调用代码:

var accountUri = crtResp.Headers.GetValues("OData-EntityId").FirstOrDefault();
                HttpRequestMessage retReq = new HttpRequestMessage(HttpMethod.Get, string.Format("{0}?$expand=contact_customer_accounts($select=fullname)",accountUri));
                HttpResponseMessage retResp = await _client.SendAsync(retReq);
                if (retResp.IsSuccessStatusCode)
                {
                    var result = JsonConvert.DeserializeObject<JObject>(await retResp.Content.ReadAsStringAsync());
                    if (result != null && result["contact_customer_accounts@odata.nextLink"] != null)
                    {
                        HttpRequestMessage retChdReq = new HttpRequestMessage(HttpMethod.Get, result["contact_customer_accounts@odata.nextLink"].Value<string>());
                        HttpResponseMessage retChdResp = await _client.SendAsync(retChdReq);

                        return retChdResp.IsSuccessStatusCode;
                    }
                    else if (result != null && result["contact_customer_accounts"] != null)
                    {
                        return true;
                    }
                }


Dynamics CRM 2015/2016/365 Web API:级联查询

标签:sha   status   message   tpm   客户端   method   data   exp   csharp   

原文地址:http://blog.csdn.net/ghostbear/article/details/53199075

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!