Привет StackOverflow сообщества,Microsoft Dynamics CRM - Сообщение об ошибке: Entity Id должен быть таким же, как значение, установленное в свойстве мешок
Я просто пытаюсь скопировать записи в «контакт» - Сущности из плагина или обычая рабочий процесс. Соответствующий Кодекс
QueryExpression qe = new QueryExpression("contact")
{
ColumnSet = new ColumnSet("firstname", "lastname")
};
EntityCollection entityCollection = _organizationService.RetrieveMultiple(qe);
foreach (Entity entity in entityCollection.Entities)
{
entity.Id = Guid.NewGuid();
if (!entity.Attributes.Contains("firstname"))
{
entity.Attributes.Add("firstname", "");
}
entity["firstname"] = (entity.GetAttributeValue<string>("firstname") ?? "") + "(Copy)";
_organizationService.Create(entity);
}
К сожалению, я получаю всегда сообщение об ошибке
«Entity Id должен быть таким же, как значение, установленное в пакете недвижимости».
Если я выхожу из линии
Entity.Id = Guid.NewGuid();
тогда я получаю ошибку
«Невозможно вставить дубликат ключа.»
Я также попробовал различные другие способы построения нового Guid, в том числе
byte [] bytes = new byte[16];
random.NextBytes(bytes);
entity.Id = new Guid(bytes);
или
entity.Id = Guid.Empty;
что приводит также в
«Идентификатор объекта должен быть таким же, как множество значений в сумке собственности ".
С другой стороны, у меня есть настольное приложение, в котором я подключаюсь к своей системе Microsoft CRM 2016 Office 365 с помощью этой статьи https://msdn.microsoft.com/en-us/library/jj602970.aspx и может копировать записи в порядке.
Любая помощь очень ценится.
Я думаю, что вы создаете плагин в майкрософт динамической CRM вам нужно зарегистрировать плагин для создания, обновления и так далее, и не нужно _organizationService.Create (лица); , –