自定义实体和属性映射

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

您可以在具有实体关系的实体之间映射属性。 这样就可以为在另一条记录的上下文中创建的记录设置默认值。 使用位于应用程序中的自定义工具映射属性。 请参阅 TechNet:自定义您的 CRM 系统 主题TechNet:创建和编辑实体关系:映射实体字段。 请参阅映射实体字段的部分以获取详细信息。

请参阅 TechNet:对显示默认系统实体和字段映射的表的实体和属性映射

本主题内容

应用程序中的行为

使用实体和属性映射数据

实体间的自动映射属性

检索实体和属性映射

应用程序中的行为

借助 Microsoft Dynamics 365 中的映射,在创建与另一条记录关联的新记录时可以简化数据输入。 当一个实体与另一个实体具有实体关系时,通过功能区中的“创建相关项”选项卡,可以创建新的相关实体记录。 使用此方式创建新记录时,主要实体记录中的映射数据会复制到新的相关实体记录的窗体中。 通过映射实体属性,可以通过在两个实体间的关系中添加新映射来控制复制哪些数据。 如果记录不是通过主要实体的关联视图创建的,而是以其他方式创建的,则不会映射数据。

例如,您可能希望在客户中的地址字段与联系人中的地址字段之间设置映射。 有了此映射,当用户添加与特定客户关联的联系人时,系统会自动填充该联系人的地址字段。

您可以将一个属性映射到多个目标属性。 例如,可以将客户中的地址信息同时映射到订单中的帐单邮寄地址和送货地址。

会在创建新的相关记录之前应用映射。 用户可以在保存记录之前进行更改。 以后对主要记录中的数据所做的更改将不会应用于相关记录。

使用实体和属性映射数据

在实体间存在映射的现有记录的上下文中创建新记录时,可以使用 InitializeFromRequest 消息来定义包含映射中指定值的新记录。 然后,可以使用 IOrganizationService.Create 方法保存该记录。 这样便会应用您定义的任何映射。

创建实体关系时,会创建有效的实体映射。 使用 entity_map_attribute_maps 实体关系可以检索实体映射指定的实体对的属性映射。

您可以创建或更新属性映射记录。 必须满足以下属性映射要求:

  • AttributeMetadata 类型必须匹配。

  • 目标字段的长度不能短于源字段。

  • 格式必须匹配。

  • 目标字段不能用于其他映射。

  • 源字段必须在实体窗体上可见。

  • 目标字段必须是一个可供用户在其中输入数据的字段。

  • 不能映射地址 ID 值。

  • 不能映射 PartyList 属性,其中 AttributeMetadata.AttributeTypeAttributeTypeCode.PartyList。

实体间的自动映射属性

您可以为支持映射的实体关系编辑实体间的属性映射。

除手动创建每个属性映射之外,还可以使用 AutoMapEntityRequest 消息来生成一组新的属性映射。 此消息会执行在工具栏上“其他操作”菜单中的“生成映射”菜单选项下找到的操作。 此消息会映射两个相关实体间的所有属性,这两个实体的属性名称和类型相同。 此消息可增强工作效率,您不必手动添加所有属性映射。 相反,您可以生成一组适当的映射,并最大限度地减少添加或删除单个映射的手动工作量以满足您的要求。

备注

使用此方式自动生成映射时将会删除任何先前定义的属性映射,但可能会包含不需要的映射。

检索实体和属性映射

查看已创建的映射的一种简单方法是使用以下 FetchXML 查询。 有关如何运行此查询的详细信息,请参阅使用 FetchXML 构建查询

<fetch version='1.0' mapping='logical' distinct='false'>
   <entity name='entitymap'>
      <attribute name='sourceentityname'/>
      <attribute name='targetentityname'/>
      <link-entity name='attributemap' alias='attributemap' to='entitymapid' from='entitymapid' link-type='inner'>
         <attribute name='sourceattributename'/>
         <attribute name='targetattributename'/>
      </link-entity>
   </entity>
 </fetch>

另请参阅

使用含有 Dynamics 365 元数据的组织服务
EntityMap 实体消息和方法
AttributeMap 实体消息和方法
TechNet:创建和编辑实体关系:映射实体字段

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权