Я вставляю записи, используя операцию пакетной вставки веб-API Dynamics. Я использую метод патча и вставляю на альтернативный ключ. Ответ, который я получаю от CRM: (response.Content), дает идентификатор пакета и альтернативные ключи, которые я вставил. Однако я хотел бы также получить GUID вставленных записей.
Есть ли способ прочитать GUID вставленных записей в самом ответе. Использование другого запроса для получения идентификаторов GUID будет дорогостоящим, так как мне нужно вставить миллионы записей.
Я пытался использовать response.Content для чтения ответа, но, как уже упоминалось выше, он не включал GUID.
Я также попытался запустить другой запрос для получения идентификаторов GUID указанных альтернативных ключей. Это занимает много времени.
Кроме того, я попытался сгенерировать GUID во время вставки (следовательно, устранить необходимость их захвата в ответе), но клиент не хочет использовать этот метод.
// Вот как я читаю ответ
HttpResponseMessage response = httpClient.SendAsync(request).Result;
var strCttResponse = await response.Content.ReadAsStringAsync();
// Пожалуйста, смотрите описание ожидаемого и фактического результата
// Ниже приведен пример ответа (только для одной записи). Как вы видете
// он имеет только альтернативный ключ и идентификатор пакета.
--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