第 4 章:使用 Microsoft Dataverse 作为数据源

Maria 已使用 Excel 工作薄中包含的测试数据生成了原型应用。 下一步是将应用连接到将提供实际数据的数据源。 Maria 听说过 Microsoft Dataverse 可以作为执行此操作的一个选项,希望了解更多信息。

Dataverse 是什么?

Dataverse 是具有一组标准表的数据存储。 您可以使用它存储业务信息,管理业务规则和定义业务数据流。 在许多方面,它就像一个数据库,但它保存的不仅仅是数据。 您可以使用它记录解决方案的业务逻辑的元素,并跨应用共享此逻辑。 Dataverse 包括计划功能,使您能够自动化处理和工作流。 此外,您还可以添加图表并将其与数据关联;Power Apps 可以直接从 Dataverse 中引用这些图表。 详细信息:Power Apps 文档中的什么是 Dataverse?

Dataverse 遵循 Power Apps 的“低代码”方法,使商务用户能够创建业务实体和工作流。 此外,Dataverse 是可缩放、可靠且安全的系统,在 Azure 中实现。 基于角色的访问控制将访问类型限制为组织中的不同用户;用户只能查看或处理他们已被授予访问权限的实体。

备注

Power Apps 中应用程序和用户的定义也存储在 Dataverse 中。 Power Apps 使用此信息创建、编辑和发布应用。

Dataverse 使您能够将保留在不同数据库中的数据统一到一个存储库中。 您可以创建数据流,以定期将保留在一个或多个数据库中的数据引入到 Dataverse 的表中以创建聚合的数据集。 详细信息:为何选择 Dataverse?

从外部源上传到 Dataverse。

在 Dataverse 中定义实体和关系

Dataverse 包含一组开放源代码的、标准化的、可扩展的数据实体和关系,Microsoft 及其合作伙伴已在行业范围的开放数据方案中发布它们。 这些实体的数据存储在一组表中。 Dataverse 为许多常见业务对象(例如客户、地址、联系人、组织、团队和用户)定义实体。 您可以在 Power Apps 中,在数据下的选项卡上,查看 Dataverse 中的表。 您可以根据需要向 Dataverse 添加自己的自定义表,但尽可能使用现有表是好的做法。 这有助于确保应用的可移植性。 属于默认 Dataverse 的表的类型已指定为“标准”,但自己的表的类型将标记为“自定义”。

Dataverse 表。

在 Dataverse 中,每个实体都为表格,并且具有一组也由开放数据方案定义的默认列。 您可以通过使用表列表中该实体的编辑命令查看表的定义。 您可以使用自己的列扩展表,但正如前面所述,好的做法是尽可能使用现有列。 以下示例显示“客户”表的默认定义。

备注

您可以修改表和列的显示名称,而不更改其名称。 Power Apps 使用显示名称作为显示在窗体上的默认标签。 Dataverse 中的“客户”表。

Dataverse 支持列的多种数据类型,范围从简单文本和数值到指定格式约束(例如电子邮件URL电话股票代号)的抽象。 可以使用其他类型(例如选择查找),以将在列中输入的值限制为固定域或从相关表中的列检索的数据。 使用文件图像类型以在表中存储非结构化的数据和图像。 图像的最大大小为 30 MB,但文件可以最大为 128 MB。

备注

您可以定义自己的自定义选项以用于 Power Apps 中的选择列。

还可以定义各表之间的关系。 这些关系可以是多对一一对多多对多。 此外,指定相关实体的行为作为关系的一部分。 行为可以是:

  • 引用,带有或不带有限制的删除。 限制的删除可防止删除相关表中的行(如果该行由相同或不同表中的另一行引用)。
  • ,其中对行执行的任何操作也会应用到它所引用的所有行。
  • 自定义,使您能够指定对引用行执行的操作如何影响所引用的行。

以下示例显示如何将一对多关系从“客户”表添加到名为“SalesLT Customer”的自定义表。 该行为可防止删除客户(如果客户由“客户”表中的行应用)。

Dataverse 中的关系。

添加视图和业务规则

视图提供对一个或多个相关表中指定列和行的访问权限。 您可以将视图视为查询,但具有的名称允许您将其视为表。 视图包含表中的选定列,但可以包含相关表中的列。 此外,视图可以筛选行,以只显示与指定条件匹配的行。 您还可以为视图显示的行设置默认排序顺序。 请注意,视图为基础数据提供一个动态窗口;如果视图后面的表中的数据发生更改,视图所表示的信息也会更改。 您可以在模型驱动应用中通过视图显示数据。 下图显示视图设计器。 用户基于“客户”表向视图中添加新列。

在 Dataverse 中定义视图。

在实体中添加、修改或删除数据时,您使用业务规则定义验证并自动化控制流。 业务规则包含一个条件,可测试受影响的实体中的特定条件,例如列中的数据是匹配还是违反给定规则。 Power Apps Studio 中的业务规则设计器提供一个用于定义业务规则的图形用户界面,如下图所示。

在 Dataverse 中定义业务规则。

业务规则设计器支持以下操作:

  • 设置列值。
  • 清除列值。
  • 设置列要求级别。
  • 显示或隐藏列(仅对于模型驱动应用)。
  • 启用或禁用列(仅对于模型驱动应用)。
  • 验证数据并显示错误消息。
  • 根据业务智能创建业务建议(仅对于模型驱动应用)。

备注

业务规则最适合模型驱动应用。 画布应用并非支持所有业务规则操作。

定义业务活动

Dataverse 中的表有两种基本类型:包含数据的标准表(包括自定义表)和表示可计划由 Dataverse 运行的业务操作和工作流的活动表。 活动表包含对活动中所涉及的数据实体(例如客户或销售员)的引用、活动可以进行的一系列状态、其当前状态以及 Dataverse 用于在适当时计划操作的其他信息。

Dataverse 包含用于管理会议、计划业务流程、市场营销、管理销售流程、创建定期约会和处理客户服务事件的内置活动。 详细信息:活动表

如果您需要不直接在 Power Apps 中可用的其他控件,可以使用自定义操作或自己的代码实现实际的业务逻辑。 此流程的详细信息不在本指南范围内,有关详细信息,请转到创建自定义操作

添加图形显示元素

除了存储与业务实体关联的数据结构和逻辑外,Dataverse 还可以存储与实体关联的窗体、图表和仪表板的布局。 创建模型驱动应用时,可以使用这些窗体输入和显示数据,而通过图表和仪表板,用户能够比查看基本数据值更轻松地可视化数据。

定义图表。

Maria 决定使用 Dataverse

在许多情况下,Dataverse 都是存储库的最佳选择。 对于基于新系统和服务的 Power Apps 开发以及向现有应用程序添加新功能,您应该认真考虑它,尤其是在创建模型驱动应用时。

但是,在 Maria 正在构建的应用程序中,数据已经存在于旧数据库中。 存在一个连接到该数据库以检索和修改数据的 Web API,它已在 Azure 应用服务中部署。 这些旧解决方案已被证明是有效的,而且 Kiana 和高代码开发团队支持这些解决方案的发展非常轻松。

融合开发团队和 Dataverse 的一个优势是融合开发团队可以让成员在他们已经了解和最熟悉的工具中获得最大的工作效率。 团队无需立即将其现有数据迁移到 Dataverse 即可使用 Power Apps 构建应用。 同样,当团队在构建需要新数据的应用程序时,Dataverse 作为一个选项非常有意义。 看到使用 Power Apps 构建的应用使用旧数据源和 Dataverse 中数据的组合的情况并不少见。

向应用添加新功能时,例如,让现场技术人员添加客户访问注释,Maria 希望使用 Dataverse 来存储该数据。

因此,Maria 目前会将 Kiana 团队已经开发的 Web API 连接到此应用,来获取所需的数据。 以下章节将演练该流程。