映射表列
您可以在具有表关系的表之间映射属性。 这样就可以为在另一个行的上下文中创建的行设置默认值。
在模型驱动应用中创建新行的更简单方法
假设用户要为属于特定客户的员工的某个人添加一个新的联系人行。 他们可以通过两种方式完成此事:
困难方法
用户在应用中导航即可从头开始创建新的联系人行。 但是,随后他们需要设置上级单位,并输入可能与上级单位相同的多个信息项(如地址和电话信息)。 这可能会很耗时间,并会增加出错的机会。
更简单的方法
最简单的方法是从客户表入手,然后使用窗体上的联系人子网格,选择 + 来添加联系人。 它将先指引用户查找现有的相关联系人,因此不会无意中创建重复的行。 如果没有找到现有行,则可以选择新建,创建一个新的联系人行。
新的联系人行窗体将包含客户的任何映射属性值(如地址和电话信息)作为默认值。 用户可以在保存行前编辑这些值。
工作原理
当映射 1:N 表关系的表列时,主表行中数据的某些项目将被复制到新的相关表窗体以设置用户在保存前可以编辑的默认值。
备注
这些映射仅在保存记录之前设置行的默认值。 用户可以在保存之前编辑值。 传输的数据是该时间点的数据。 如果源数据之后改变,将不会同步。
这些映射不会应用于使用工作流或对话流程创建的相关行。 它们不会自动应用于使用代码创建的新行,但开发人员可以使用一条名为 InitializeFrom
(InitializeFrom 函数或 InitializeFromRequest 类)的特殊消息,使用可用映射来创建新行。
这些映射不适用于应用没有与 Dataverse 的活动网络连接时打开的新的相关表窗体,父查找字段除外。
在脱机模式下使用应用时,不支持表之间的字段映射。 有关详细信息,请参阅模型驱动应用的 Mobile Offline 限制中 列出的限制。
打开解决方案资源管理器
映射表列的唯一方法是使用解决方案资源管理器。
打开非托管解决方案
在 Power Apps 左侧导航窗格中选择解决方案,然后在工具栏上选择切换到经典。 如果项目不在侧面板窗格中,请选择 …更多,然后选择所需项目。
在所有解决方案列表中,打开要使用的非托管解决方案。
映射列在 1:N 或 N:1 表关系的上下文中进行,因此,您首先需要查看 1:N 或 N:1 表关系。
查看可映射列
列映射不在表关系中实际定义,但它们显示在关系用户界面中。 并非每个 1:N 表关系都有它们。 在查看某个表的 1:N(或 N:1)表关系列表时,可以按类型筛选显示的关系。 您可以选择全部、自定义、可自定义或可映射。 可映射表关系提供的访问权限允许映射表列。
在打开可映射表关系时,选择左侧导航中的映射。
删除映射
如果存在您不希望应用的任何映射,您可以选择它们并单击 图标。
添加新映射
若要创建新映射,在工具栏上单击新建。 这将打开创建列映射对话框。
选择一个源表列和一个包含您要映射的值的目标表列。
然后选择确定关闭对话框。
下列规则显示了可以映射的数据种类。
- 两个列必须属于同一类型,而且必须采用相同的格式。
- 目标列的长度必须等于或大于源列的长度。
- 目标列不能已映射到其他列。
- 源列必须在窗体上可见。
- 目标列必须是一个可供用户在其中输入数据的列。
- 无法映射地址 ID 值或 partylist 类型的列。
- 如果映射到未在窗体中显示的列或从其进行映射,则在将该列添加到窗体前,映射不会完成。
- 如果列是选择项,则每个选项的整数值应完全相同。
备注
如果需要映射选择项列,建议您将两个列都配置为使用相同的全局选择项。 否则,可能难以手动让两个单独的选项集保持同步。 如果每个选项的整数值未正确映射,则可能是数据中出现了问题。 详细信息:创建和编辑 Microsoft Dataverse 的全局选择项(选择列表)
自动生成列映射
您还可以通过从其他操作菜单选择生成映射来自动生成映射。
在使用系统表进行操作时应该小心。 请在创建自定义表并要使用映射时使用此选项。
警告
这会删除所有现有的映射,并代这以建议的映射;这些建议的映射基于具有类似名称和数据类型的列。 如果对系统表使用此方法,则可能会丢失一些应有的映射。 对于自定义表,这有助于节省时间,因为您可以更轻松地删除您不需要的任何映射,并可添加生成映射操作不会创建的其他任何映射。
发布自定义项
由于列映射不属于元数据,必须在更改生效前发布它们。
另请参阅
使用解决方案资源管理器创建和编辑 1:N(一对多)或 N:1(多对一)表关系
开发人员文档:自定义表和属性映射
开发人员文档:Web API 从另一个表创建新表