第一个问题,使用我的 ETL 软件,我可以映射所有 GM 联系人字段并将它们迁移到 MCRM 联系人实体。唯一不能填写的字段是所有者(所有者始终是联系人的创建者)。
我发现他们是这个实体字段的特权prvAssignContact .
他们是消除这种安全性的把戏,还是我可以通过昨天刚开始使用的 SDK 工具包来做的事情?
在 SO 上,我找到了这个主题,Can I update the owner id of a Contact using LINQ?但根本不知道它是否对我有用,如果有用,该代码放在哪里。
P:S:我一定要一个人做...所以我会喜欢用户友好的建议!
最佳答案
了解您正在使用的 ETL 将很有用,但是在进行数据迁移时需要考虑一件重要的事情。 如果您要创建新记录,指定所有者就足以使用 EntityReference 设置字段
Entity contact = new Entity("contact");
contact["firstname"] = "John";
Guid ownerId = new Guid("BFC777ED-5E79-E111-8489-00166D63156F");
contact["ownerid"] = new EntityReference("systemuser", ownerId);
service.Create(contact);
如果您要更新联系人,您需要按照其他主题中的说明使用 AssignRequest
Guid contactId = new Guid("90F8889F-EB95-E781-8417-000C44420CBC");
Guid newOwnerId = new Guid("BFCAA4ED-5E79-E781-8349-00155BB3156F");
AssignRequest assignRequest = new AssignRequest
{
Assignee = new EntityReference("systemuser", newOwnerId),
Target = new EntityReference("contact", contactId)
};
service.Execute(assignRequest);
关于dynamics-crm-2011 - ETL 软件,无法检索联系人的所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15631909/