Создание и обновление контактов Dynamics CRM

Моя программа будет заключаться в создании от 100 до 200 новых контактов и обновлении от 1000 до 2000 существующих контактов в рамках ежедневного пакетного задания. Мы переходим на Dynamics CRM из Infusion Soft, где мы использовали метод addWithDupCheck, который либо добавляет, либо обновляет запись контакта на основе соответствующего значения поля. Я знаю, что могу запросить наличие контакта, а затем использовать Create или Update, однако я ищу решение, которое работает с ExecuteMultipleRequest.


person ddrjca    schedule 08.08.2015    source источник


Ответы (2)


Если вы используете 2013, у вас не будет возможности запроса UPSERT, как, к сожалению, в Online 2015 Update 1.

person Alessi    schedule 09.08.2015
comment
Я использую Online 2015 Update 1; Я выбрал неверный ТЕГ при создании вопроса. UpsertRequest — это то, что я искал. - person ddrjca; 09.08.2015
comment
Существует ли обновленная загрузка CRM SDK с двоичными файлами версии 7.1 или NuGet — единственный способ получить обновления? - person ddrjca; 09.08.2015
comment
Вот ссылка на историю выпуска CRM 2015 SDK: msdn.microsoft.com/ en-us/library/dn481567.aspx - person Alessi; 10.08.2015

ExecuteMultipleRequest даст лишь незначительный прирост производительности. Это связано с тем, что содержащиеся в нем запросы обрабатываются сервером последовательно в одном потоке. Ваша единственная выгода — меньше обращений к серверу.

Для CRM 2013 (версия 6) вы можете получить список существующих записей контактов из CRM перед обработкой записей, которые нужно создать или обновить. Запрос менее 5000 записей из CRM не должен быть дорогостоящей или трудоемкой операцией.

В CRM 2015 Update 1 (версия 7.1) добавлен новый полезный параметр, который называется UpsertRequest. Этот запрос можно использовать для обновления существующей записи или создания новой, если она еще не существует. UpsertRequest использует альтернативные ключи (они настраиваются), которые в вашем сценарии будут первичными ключами записей контактов в исходной системе. Дополнительную информацию по этой теме можно найти в MSDN.

person Henk van Boeijen    schedule 09.08.2015