在实体之间创建 1:N(一对多)关系
此主题适用于 Dynamics 365 Customer Engagement (on-premises)。 有关此主题的 Power Apps 版本,请参阅: 使用 Power Apps 门户创建和编辑一对多或多对一实体关系
创建 1:N 关系最轻松的方法是为实体创建一个新的查找字段。 这使您可以在将类型设置为查找时设置查找字段的公用字段值以及设置两个额外选项。 这另外两个字段是目标记录类型和关系名称。
在 1:N 关系中,目标记录类型选择主要实体。 关系名称会根据关系中的两个实体自动生成。 您通常不需要对此进行编辑;但需要时也可编辑。 实体关系的名称包含解决方案发布商为您当前使用的解决方案提供的自定义前缀。
备注
如果您在意自定义前缀,请确保您工作所在的解决方案上下文与所需前缀的解决方案发布商关联。
但是,在通过创建查找字段创建 1:N 关系时,会为您设置一些默认值。 如果要编辑关系中可用的一些选项,则必须找到关系的并编辑它。
无法为所有实体创建自定义 1:N 关系。 如果遇到这种情况,则无法选择使用解决方案资源管理器来创建新的自定义实体关系。 如果使用元数据浏览器,则可以根据 CanBePrimaryEntityInRelationship
和 CanBeRelatedEntityInRelationship
属性筛选实体列表。
1:N 关系的定义有四个部分:关系定义、查找字段、主要实体的导航窗格项和关系行为。
创建或编辑实体之间的 1:N 关系
打开解决方案资源管理器。
在组件下,展开实体,然后展开工作时所需实体。
选择 1:N 关系。
若要编辑关系或查看关系的详细信息,请选择关系,然后在“操作”工具栏上选择更多操作,再选择编辑。
- 或 -
若要添加新的关系,请选择新建一对多关系。
重要提示
如果新建一对多关系没有出现在“操作”工具栏上,则不可以为实体创建新的 1:N 关系。
对于新的关系,可在关系定义 部分,在相关实体 列表中,选择要关联的实体。
备注
为相关实体集指定一个名称字段默认值。 如果您在保存之前更改“相关实体”,则名称字段的值将相应更改。
选择这是否为可搜索或不可搜索。
在查找字段部分,为显示名称字段中指定值。
重要提示
指定相关显示名称 集默认值为名称字段。 如果您在保存之前更改查找字段的显示名称,则名称字段的值不会改变。 因此,请在保存之前,确保名称 是有意义的。
在字段要求列表中,选择一个选项以指定在保存记录之前字段的数据要求。
在主要实体的导航窗格项部分,请在显示选项列表中选择显示关联视图或自定义标签的选项。
在关系行为部分,可在行为类型列表中选择以下选项之一:
父。 在两个表之间的父级关系中,对父表记录执行的任何操作也可以对与首要(父)表记录相关的所有子表记录执行。 例如,父记录的负责人继承了对子表记录的访问权限,当父记录被删除时,所有子记录也将被删除。 对于父表 (P1) 和子实体 (C1) 之间的 1:N 父关系,P1 记录的负责人将被授予对 C1 子记录的继承访问权限。
引用。 在两个实体之间的引用关系中,可以导航到任何相关实体,但对一个实体执行的操作并不会影响另一个实体。
引用,限制删除。 在两个实体之间的“引用,限制删除”关系中,您可以导航到任何相关记录。 对父记录执行的操作并不会应用到子记录,但是存在子记录时不能删除父记录。 注意,存在相关记录时不能删除记录。
可配置的级联。 在两个实体之间的可配置的级联关系中,可选择与每一组可能的操作关联的行为。
重要提示
如果将上述操作的所有行为设置成与为其他行为类型关联的操作的行为相匹配,当保存关系时,行为类型自动设置为匹配类型。
详细信息:配置实体关系行为
选择保存并关闭以关闭关系表单。
完成自定义后,发布自定义项:
若要只发布当前编辑的组件的自定义项,请在“操作”工具栏上,选择发布。
若要同时发布所有未发布组件的自定义项,请在导航栏或导航窗格中选择实体,然后在“操作”工具栏上选择发布所有自定义项。
备注
- 在与级联的相关系统实体的关系中,自定义实体不能为主要实体。 这表示在主要自定义实体和相关系统实体间不能与设置为“全部级联”、“可用项的级联”或“用户负责项的级联”的任何操作具有关系。
- 如果新关系中的相关实体已作为其他关系(该其他关系具有设置为全部级联、可用项的级联或用户负责项的级联的任意操作)中的相关实体而存在,则任何新关系都不能具有设置为全部级联、可用项的级联或用户负责项的级联的任意操作。 这将防止创建具有多个父级的关系。
- 在更改用户界面元素或执行实体的窗体脚本后,需要发布相应更改才能应用这些更改。 更改应用的数据架构的任何自定义项(例如自定义实体、关系或字段)将会立即应用。
- 如果关系属于托管解决方案一部分时,托管解决方案的开发人员可以限制您自定义关系。
- 安装解决方案或发布自定义项会干扰常规的系统操作。 我们建议您以对用户造成的干扰最少为宗旨,合理安排解决方案导入时间。
关系定义
根据您是从解决方案资源管理器选择创建新建一对多关系还是新建多对一关系,将预填充主要实体或相关实体。 您只需选择另一个。 名称 字段的默认值是根据解决方案发布商的自定义前缀以及您选择参与关系的实体的名称预填充的。 如果需要,可以对此进行编辑。 如果在两实体之间创建多个自定义关系,并为两个关系使用相同的自定义前缀,则自动生成的名称值将不是唯一的,您将无法保存新关系。 您必须编辑名称将其与任何现有名称区别开来,才能将其保存。 一旦保存,就无法更改。
如果不希望此实体关系在高级查找中出现,可将可搜索 值设置为否。
查找字段
这些字段是所有字段都具有共同属性,但可搜索、字段安全性 和审核 除外。 若要编辑使用实体关系创建的这些查找字段的值,必须在创建实体关系后单独查找并编辑查找字段。 更多信息:创建和编辑字段。
根据一般规则,显示名称应对应于主要实体显示名称。
主要实体的导航窗格项
如果展开导航窗格,主要实体可以显示相关实体的列表。 此组中的选项控制如何以及是否显示此列表。 还可以使用窗体编辑器编辑这些导航项;通过使用 JavaScript,开发人员可以在窗体显示时将更改应用于这些项。
字段 | 说明 |
---|---|
显示选项 |
-
不显示:如果您不希望让用户能够导航到相关实体记录的列表,请选择此选项。 - 使用自定义标签:如果希望指定要使用的自定义标签,请选择此选项。 - 使用复数名称:如果您要使用相关实体的复数名称作为标签,请选择此选项。 |
自定义标签 | 如果选择使用自定义标签作为 显示选项,请输入要使用的自定义标签,而不是相关实体的复数名称。 |
显示区域 |
-
详细信息:选择此选项可将导航项包括在公用组中。 - 营销:选择此选项可将导航项包括在营销组中。 - 销售:选择此选项可将导航项包括在销售组中。 - 服务:选择此选项可将导航项包括在服务组中。 |
显示顺序 | 此数字控制导航项在所选显示区域中的位置。 允许的数字范围从 10,000 开始。 具有较低值的导航窗格项出现在具有较高值的其他关系上方。 |
关系行为
在 1:N 关系中,可以控制关系的行为方式以支持组织的业务规则。 您为什么要这样做? 让我们看一个示例。
假定您有一位新销售员,您希望向其分派一些当前分派给另一位销售员的现有商机。 每个商机记录可能有一些与其关联的任务活动。 您可以轻松地找到要重新分派的可用商机,并将其分派给新销售员。 但是,对于与这些商机关联的任何任务活动,会发生什么情况? 您是否打开每项任务,并决定是否也应将其分派给新销售员? 可能不需要。 您可以让关系自动应用一些标准规则。 这些规则只适用于与您要重新分派的商机关联的任务记录。 实体关系的名称为商机_任务。 您的选择是:
重新分派所有可用任务。
重新分派所有任务。 这是默认行为。
不重新分派任务。
重新分派当前分派给前一个商机负责人的所有任务。
关系可以控制对主要实体记录的记录执行的操作如何向下级联到所有相关实体记录。 操作和可能的行为如下表中所示。
操作 | 说明 | 可能的行为 |
---|---|---|
分派 | 当主要实体记录更改了所有权时,会发生什么情况? | - 级联活动项 - 全部级联 - 无级联 - 级联用户负责项 |
共享 | 当主要实体记录共享时,会发生什么情况? | - 级联活动项 - 全部级联 - 无级联 - 级联用户负责项 |
取消共享 | 当主要实体记录停止共享时,会发生什么情况? | - 级联活动项 - 全部级联 - 无级联 - 级联用户负责项 |
重定父级 | 在主要实体记录中的父类型关系的查找字段值发生更改时,会发生什么情况? 父类型关系是对所有操作使用全部级联的关系。 - 级联活动项 - 全部级联 - 无级联 - 级联用户负责项 |
|
删除 | 当删除主要实体记录时,会发生什么情况? | - 全部级联 - 删除链接 - 限制删除 |
合并 | 当主要实体记录与其他记录合并时,会发生什么情况? | - 全部级联 - 无级联 |
可以配置其中的每个操作以控件操作如何通过 1:N 实体关系向下级联与主要实体记录相关的记录。 下表列出了行为选项。
行为 | 说明 |
---|---|
可用项的级联 | 对所有可用的相关实体记录执行操作。 |
全部级联 | 对所有相关实体记录执行操作。 |
无级联 | 不执行任何操作。 |
移除链接 | 删除所有相关实体记录的查找字段的值。 |
限制删除 | 当存在相关记录时,阻止删除主要实体记录。 |
用户负责项的级联 | 对被主要实体记录的用户所负责的所有相关实体记录执行操作。 |
这些操作在关系内的应用方式可以使用下表中介绍的行为类型字段值进行分类或应用。
字段值 | 说明 |
---|---|
父 | 所有操作都使用全部级联行为。 |
引用 |
分派、共享、取消共享和 重定父级使用无级联 行为。 删除使用移除链接 行为。 合并 使用全部级联 行为。 |
引用,限制删除 | 与引用相同,但删除使用限制删除 行为。 |
可配置项的级联 | 可以为每个操作分派单个行为。 如果选择与其他任何行为类型类别匹配,则值将更改为该行为类型值。 |
对可以设置的行为的限制
在定义实体关系时,应当记住一些限制。
在有级联的相关系统实体的关系中,自定义实体不能为主要实体。 这表示在主要自定义实体和相关系统实体间不能与设置为全部级联、可用项的级联或用户负责项的级联的任何操作具有关系。
如果新关系中的相关实体已作为其他关系(该其他关系具有设置为全部级联、可用项的级联或用户负责项的级联的任意操作)中的相关实体而存在,则任何新关系都不能具有设置为全部级联、可用项的级联或用户负责项的级联的任意操作。 这将防止创建具有多个父级的关系。
不能设置或更改对合并操作的级联,此类级联取决于被引用的实体。 如果被引用的实体是客户、联系人或潜在顾客,则操作会级联。 在其他情况下,不会级联。