繁体   English   中英

在批量插入记录后需要帮助从Dynamics 365 Web API给出的响应中提取CRM记录ID

[英]Need help fetching CRM Record ID from response given by Dynamics 365 Web API after batch Inserting records

我正在使用Dynamics Web API批处理插入操作插入记录。 我正在使用补丁方法,并在备用键上插入。 我从CRM收到的响应是(response.Content),它给出了批次ID和我插入的备用键。 但是,我也想获取插入记录的GUID。 有什么方法可以读取响应本身中插入记录的GUID。 由于我需要插入数百万条记录,因此使用另一个查询来获取GUID将非常昂贵。

我尝试使用response.Content读取响应,但是如上所述,它不包含GUID。 我还尝试运行其他查询以获取指定备用键的GUID。 这会花费很多时间。 此外,我尝试在插入时生成GUID(因此,消除了在响应中捕获它们的需求),但是客户端不想使用此方法。

//这就是我阅读回复的方式

HttpResponseMessage response = httpClient.SendAsync(request).Result;
var strCttResponse = await response.Content.ReadAsStringAsync();

//请查看预期和实际结果说明

//以下是示例响应(仅适用于一条记录)。 如您所见// //它只有备用键和批次ID。

--batchresponse_63bdc6fd-90f2-4a2b-b11d-ba4cc1d122f4
Content-Type: multipart/mixed; boundary=changesetresponse_ac69e917-8cf9-4ee8-8d4c-9d525ae6f4c3

--changesetresponse_ac69e917-8cf9-4ee8-8d4c-9d525ae6f4c3
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 1

HTTP/1.1 204 No Content
OData-Version: 4.0
Location: https://<URL>/api/data/v9.1/contacts(new_altkey_contact='46236')
OData-EntityId: https://<URL>/api/data/v9.1/contacts(new_altkey_contact='46236')

// ------------------------------------------------ --------------------------

我正在寻找的结果也应该返回插入记录的GUID。 就像是:

 Batch Id

 https://<URL>/api/data/v9.1/contacts(new_altkey_contact='altkey')

 GUID of the record

您能否验证批生产之外的单个创建的响应。 从我所看到的,您还应该返回AlternateKey。 您也可以问微软这是否真的有意。 有特殊原因为什么需要GUID? 是的,备用键比较慢,因为CRM需要在内部要求GUID,但这对于大数据导入(例如用于初始数据迁移的Exmaple)不会产生任何影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM