我们可以通过组织服务创建一个实体,该实体具有对另一个实体的引用。有没有办法通过组织服务触发此实体关系的字段映射,以便通过该关系的内置映射提取所有必需的数据?
这是必需的,因为我们有一个POST创建插件,该插件在该实体上运行,期望通过映射填充数据。
答案 0 :(得分:1)
其他人为您编写了代码:
http://code.msdn.microsoft.com/Automatic-mapping-of-child-9df6db11
当您通过现有实体创建子实体时 如果实体映射,前端CRM 2011会自动映射某些字段 存在这种关系。但是当你创建子实体时 SDK没有任何反应。此示例尝试提供解决方案 这一点。
答案 1 :(得分:0)
听起来您需要查询元数据服务以检索必需的字段。
幸运的是,在2011年(或在2013年的情况下)使用UR12,您只能获得元数据中的更改并保持足够的性能。
http://msdn.microsoft.com/en-us/library/jj863599.aspx#BKMK_RetrieveJusttheMetadataYouNeed
答案 2 :(得分:0)
您必须使用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);
}