Dynamics crm 如何在Dynamics CRM 2013中映射实体之间的字段

Dynamics crm 如何在Dynamics CRM 2013中映射实体之间的字段,dynamics-crm,dynamics-crm-2013,Dynamics Crm,Dynamics Crm 2013,我们可以通过组织服务创建一个实体,该实体具有对另一个实体的引用。是否有办法通过组织服务触发此实体关系的字段映射,以便通过该关系的内置映射提取所有必需的数据 这是必需的,因为我们有一个在该实体上运行的创建后插件,该实体希望通过映射填充数据。听起来您需要查询元数据服务来检索所需字段 幸运的是,2011年的UR12(或者2013年的UR12),您只能获得元数据中更改的内容,并保持足够的性能 其他人为您编写了代码: 通过创建现有实体的子实体时 如果实体映射,frontend CRM 2011会自动映射

我们可以通过组织服务创建一个实体,该实体具有对另一个实体的引用。是否有办法通过组织服务触发此实体关系的字段映射,以便通过该关系的内置映射提取所有必需的数据


这是必需的,因为我们有一个在该实体上运行的创建后插件,该实体希望通过映射填充数据。

听起来您需要查询元数据服务来检索所需字段

幸运的是,2011年的UR12(或者2013年的UR12),您只能获得元数据中更改的内容,并保持足够的性能


其他人为您编写了代码:

通过创建现有实体的子实体时 如果实体映射,frontend CRM 2011会自动映射某些字段 这种关系是存在的。但是当您通过创建子实体时 SDK什么也没发生。本例试图为以下问题提供解决方案: 那个


您必须使用InitializeFromRequest来实现此功能

InitializeFromRequest initialize = new InitializeFromRequest();

// Set the target entity (i.e.,Contact)
initialize.TargetEntityName = "contact";

// Create the EntityMoniker of Source (i.e.,Account)
initialize.EntityMoniker = new EntityReference("account", new Guid("<GUID>"));

// Execute the request
InitializeFromResponse initialized = (InitializeFromResponse)orgService.Execute(initialize);

// Read Intitialized entity (i.e.,Contact with copied attributes from Account)
if (initialized.Entity != null)
{
// Get entContact from the response
Entity entContact = initialized.Entity;

// Set the additional attributes of the Contact
entContact.Attributes.Add("firstname", "abc");
entContact.Attributes.Add("lastname", "xyz");

// Create a new contact
orgService.Create(entContact);
}
InitializeFromRequest initialize=new InitializeFromRequest();
//设置目标实体(即联系人)
initialize.TargetEntityName=“contact”;
//创建源(即帐户)的EntityMoniker
initialize.EntityMoniker=新的EntityReference(“帐户”,新Guid(“”);
//执行请求
InitializeFromResponse initialized=(InitializeFromResponse)orgService.Execute(InitializeFromResponse);
//读取初始化实体(即,与从帐户复制的属性联系)
if(initialized.Entity!=null)
{
//从响应中获取entContact
Entity entContact=initialized.Entity;
//设置联系人的其他属性
entContact.Attributes.Add(“firstname”、“abc”);
Attributes.Add(“lastname”、“xyz”);
//创建新联系人
orgService.Create(entContact);
}

听起来您是在动态创建实体,并且希望实体预先填充来自另一个表的数据,对吗?我们说的是多行还是一行?你这样做是因为安全问题吗?+1,非常有趣的问题