标签:
Dynamics CRM 2015 Update1 推出了一个重量级的改变 "Upsert Request", 相信做过接口的朋友们都碰到过这样的场景,在向CRM写入数据的时候,因为无法确定该数据是否已经在CRM系统中存在,需要先做一次查询操作然后在进行后续的创建或更新操作。这样的数据写入流程无疑会大大的降低数据同步性能,因为在同步一条数据的同时,我们需要与服务器交互两次。
随着Upsert Request的推出,我们可以对这样的情况说再见了,我们把数据的检测逻辑交给系统进行处理,我们唯一要做的事情就是为该API赋值上我们想要同步的记录,并调用Upsert API。系统会为根据我们传入的记录进行处理:如果存在则创建,否则更新。该API的使用方法也非常简单,可以参考如下例子:
Entity account = new Entity("account"); account.Attributes.Add("name", string.Format("{0} - {1}", "Sparta", DateTime.Now.ToLongTimeString())); UpsertRequest upsertRequest = new UpsertRequest() { Target = account }; UpsertResponse upsertResponse = CrmSvc_Online.Execute(upsertRequest) as UpsertResponse; if (upsertResponse.RecordCreated) { account.Id = upsertResponse.Target.Id; account["name"] = string.Format("{0} - {1}", "Sparta", DateTime.Now.ToLongTimeString()); UpsertRequest upsertRequest2 = new UpsertRequest() { Target = account }; UpsertResponse upsertResponse2 = CrmSvc_Online.Execute(upsertRequest2) as UpsertResponse; }
Dynamics CRM 2015 Update 1 系列(2): Upsert API
标签:
原文地址:http://blog.csdn.net/ghostbear/article/details/46439313