在标准数据流中,可以轻松地将数据流查询中的字段映射到 Dataverse 表中。 但是,如果 Dataverse 表具有查找或关系字段,则需考虑其他注意事项,以确保此过程正常工作。
关系是什么,为什么你需要这种关系?
如果来自数据库开发背景,则熟悉表之间的关系概念。 但是,使用 Microsoft Power Platform 服务的许多用户并没有相关背景。 你可能想知道关系是什么,或者为什么要在表之间创建关系。
表及其关系是设计数据库的基本概念。 若要了解有关关系的所有内容,本文的范围超出了这一范围。 但是,我们将在这里以一般方式讨论它。
假设你想要在 Dataverse 中存储有关客户及其详细信息(包括区域)的信息。 可以在一个表中保留所有内容。 您的表可以命名为 Customers,并且可以包含字段,例如 CustomerID、姓名、出生日期和地区。 现在,假设你还有一个表格,其中也包含商店的相关信息。 此表可以包含字段,例如应用商店 ID、名称和区域。 可以看到,这两个表中都重复了该区域。 没有一个地方可以获取所有区域;某些区域的数据位于“客户”表中,其中一些数据位于 Stores 表中。 如果您将来从这些信息构建应用程序或报表,则总是需要将两个区域的信息合并为一个整体。
在数据库设计实践中,通常会在类似上述方案的情况下为区域创建一个表。 此区域表将包含区域 ID、名称和其他有关区域的信息。 另外两个表(客户和商店)将通过一个字段(如果这两个表中都有 ID,可以使用区域 ID;如果名称足够唯一来确定区域,也可以使用名称)来链接到此表。 这意味着将 Stores 和 Customers 表与 Region 表建立关系。
在 Dataverse 中,可以通过多种方式创建关系。 一种方法是创建一个表,然后在一个表中创建一个与另一个表的关系(或查找)的字段,如下一节中所述。
什么是查找或关系字段?
在 Dataverse 中,可以将字段定义为查阅字段,该字段指向另一个表。
在上图中,“区域”字段是名为“区域查找”的另一个表的查阅字段。 若要详细了解不同类型的关系,请转到 创建表之间的关系。
当字段映射不显示关系字段时
如果在一个指向另一个表的表中创建了查阅字段,该字段可能不会显示在数据流的映射中。 这是因为关系中涉及的目标实体需要定义 Key 字段。 然后,此最佳做法可确保该字段在数据流的表映射中可映射。
设置表中的键字段
若要设置表中的键字段,请转到 “键 ”选项卡,并将键添加到具有唯一值的字段。
设置键字段后,可以在数据流的映射中看到该字段。
已知的限制
- 目前不支持映射到 多态查找 字段。
- 当前不支持映射到多级查找字段(指向其他表中查找字段的查找字段)。
- 如果标准表的查找字段不包含本文档中描述的备用键字段,它们就不会显示在“映射表”对话框中。
- 将数据加载到配置为分层数据结构的表时,数据流不能保证正确的加载顺序。
- 不能保证查询执行顺序或将数据加载到 Dataverse 表的顺序。 建议将子表格和父表格分为两个数据流,并首先刷新包含子组件的数据流。
- 映射到 IsValidForCreate 属性设置为
false的字段是不受支持的(例如,联系人实体的帐户字段)。