嗨StackOverflow的社区设置的值,的Microsoft Dynamics CRM - 错误信息:实体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);
}
不幸的是,我总是得到错误信息
“实体ID必须相同属性包设置的值”。
如果我离开了
Entity.Id = Guid.NewGuid();
然后我得到的错误
行“无法插入重复键。”
我也尝试过各种其他的方式来建立一个新的GUID,包括
byte [] bytes = new byte[16];
random.NextBytes(bytes);
entity.Id = new Guid(bytes);
或
entity.Id = Guid.Empty;
由此而来也
“实体ID必须是一样的值集在财产袋“。
另一方面,我有一个桌面应用程序,通过这篇文章https://msdn.microsoft.com/en-us/library/jj602970.aspx的帮助连接到我的Microsoft CRM 2016 Office 365系统,并且可以复制记录。
任何帮助,非常感谢。
我想你在Microsoft Dynamics CRM中创建一个插件,你需要注册一个插件来创建,更新等,而不需要_organizationService.Create(entity); 。 –