级联创建,即为在创建主记录的同时,可以把与其相关联的新记录也一并进行创建。举个例子,我们在创建客户记录的后,一般需要在创建一个联系人记录,然后将联系人记录设置为该客户记录的主要联系人。
在上面这个例子中,,如果我们用传统的方式去做,需要向服务器请求3次,才能完成,如果涉及的相关记录数据繁多,那么请求的次数也需要增加。但是如果我们使用Web API的级联创建功能,我们只需向服务器发起一次请求即可。
级联创建和普通创建的请求方式一致,唯一的区别在于怎么去构造要记录创建对象。我们继续使用上面这个例子,我们打算在创建一条客户记录的同时,并为其创建与其管理的主要联系人记录,那么这个创建对象的构造方式如下:
JObject account = new JObject(); account.Add("name", StringGenerator(NumberGenerator())); JObject primaryContact = new JObject(); primaryContact.Add("lastname", StringGenerator(NumberGenerator())); account.Add("primarycontactid", primaryContact);一切就绪后,我们使用如下C#代码将该对象进行提交,这样我们就能在一次请求中完成上次场景描述的需求。 HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Post, "accounts"); req.Content = new StringContent(JsonConvert.SerializeObject(account), Encoding.UTF8, "application/json"); HttpResponseMessage resp = await _client.SendAsync(req);
Dynamics CRM 2015/2016/365 Web API:级联创建