簡體   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