使用 OData v4 数据提供程序的虚拟表演练

假设你想要从模型驱动应用中的外部数据源访问、创建、更新和删除有关联系人的一些个人信息。 在此简单演练中,您将在运行时从 OData Web 服务为具有映射到外部架构的列的名为人员的虚拟表建模,来执行这些操作。

数据源详细信息

因为用于此演练的数据源拥有 OData v4 Web 服务,所以可使用您的环境随附的 OData v4 数据提供程序。

Web 服务 URL:https://contosowebservice.azurewebsites.net/odata/

重要

  • 用于本演练的 Web 服务 url 不是可工作的 Web 服务。
  • 无法使用 OData v4 数据提供程序连接到另一个环境。

本演练需要一个包含下面三个列的虚拟表。

外部列名称 外部数据类型 虚拟表数据类型 目的
Id Edm.Guid 主密钥 表的主键
FirstName Edm.String 单行文本 人员的名字
LastName Edm.String 单行文本 人员的姓氏
年龄 Edm.Int32 整数 此人的年龄
LastModifiedOn Edm.DateTimeOffset 数据和时间 人员记录的上次修改数据和时间

外部数据源中人员表的 OData 元数据:

Odata 外部数据源 XML 第 2 部分。

创建数据源

为使用 OASIS 开放数据协议 (OData) 示例 Web 服务的 OData v4 数据提供程序创建数据源。

  1. 转至设置>管理>虚拟实体数据源

  2. 依次选择新建OData v4 数据提供程序确定

  3. 输入或选择以下信息。

    字段 价值
    名称 人员示例 OData 数据源
    网址 https://contosowebservice.azurewebsites.net/odata
    超时 30
    返回内联计数 客户端分页
    返回内联计数 True

将其他列保留 as-is,然后选择“ 保存并关闭”。

小窍门

使用自己的 Web 服务时,请验证 URL 是否有效,方法是将其粘贴到 Web 浏览器中。 如果要了解所感兴趣的表各自的列和数据类型,可以追加 /$metadata 到 URL 末尾,以查看 Web 服务中表的定义。

打开解决方案资源管理器

你创建的任何自定义表的名称的一部分是自定义前缀。 这是根据您在其中工作的解决方案的解决方案发布商设置的。 请确保在非托管解决方案中工作,其中的自定义前缀是您需要的此表的前缀。 详细信息:更改解决方案发布商前缀

打开非托管解决方案

  1. Power Apps 中,从左侧导航窗格中选择 “解决方案 ”,然后在工具栏上,选择“ 切换到经典”。 如果项目不在侧面板窗格中,请选择 …更多,然后选择所需项目。

  2. “所有解决方案 ”列表中,打开所需的非托管解决方案。

创建虚拟表

  1. 在解决方案资源管理器的左侧导航窗格中,选择 “实体”,然后从主窗格中选择“ 新建 ”。

  2. “实体:新建 ”窗体上,选择 “虚拟表 ”选项,然后输入以下信息:

    字段 价值
    数据源 人员样本 OData 数据源
    显示名称 人员
    复数名称 人员
    名称 新用户
    外部名称 People
    外部集合名称 People
    备注(包括附件) 选定
    活动 选定

    注释

    OData 资源路径语义用于 EntitySet 标识资源。 在示例 OData Web 服务中,EntitySet 被定义为 People。 此值用作虚拟表 Person的外部名称

  3. 显示此实体的区域旁边,选择“ 销售”,然后选择“ 保存 ”(但不关闭表窗体)。

    人员表定义。

为虚拟表创建列

实体:人员页的左侧导航窗格中,选择字段。 在本演练中,你将编辑两个现有列,并添加三个在外部数据源中可用的列。

重要

外部名称区分大小写。 请参阅 Web 服务元数据以确保使用正确名称。 可空值 false 表示属性为必需属性。 请注意,主键列始终是系统要求的。

  1. 打开 new_personid 列,并使用此处指示的值更改以下属性:

    外部名称:ID

    创建 ID 列。

  2. 选择保存并关闭

  3. 打开 new_name 列,并将以下属性更改为具有此处指示的值:

    • 显示名称:姓氏
    • 外部名称:LastName

    创建姓氏列。

  4. 选择保存并关闭

  5. 选择“ 新建”,然后在“ 字段:人员新建 ”页上输入以下信息:

    字段 价值
    显示名称 名字
    名称 new_firstname
    外部名称 FirstName
    字段要求 业务必需的
    数据类型 单行文本

    为人员创建年龄列。

  6. 选择保存并关闭

  7. 选择“ 新建”,然后在“ 字段:人员新建 ”页上输入以下信息:

    字段 价值
    显示名称 年龄
    名称 新纪元
    外部名称 年龄
    字段要求 业务必需的
    数据类型 整数

    创建年龄列。

  8. 选择保存并关闭

  9. 选择“ 新建”,然后在“ 字段:人员新建 ”页上输入以下信息:

    字段 价值
    显示名称 上次修改时间
    名称 new_lastmodifiedon
    外部名称 LastModifiedOn
    字段要求 业务必需的
    数据类型 日期和时间

    创建“上次修改”列。

将列添加到主窗体

  1. 人员表窗口中,选择窗体

  2. 打开主窗体,将右窗格中的 “名字”、“ 年龄”和“ 上次修改时间” 列拖放到“ 常规 ”部分中的窗体上。

    添加到主窗体的名字、年龄和上次修改日期列。

  3. 在“ 人员 ”表窗口中,选择“ 保存并关闭”。

配置默认视图

  1. 在解决方案资源管理器的左窗格中,在“人员”实体下,选择“视图”
  2. 打开 “所有用户 ”视图。
  3. “常见任务 ”窗格中,选择“ 添加列”。 为视图添加列。
  4. 选择“ 名字”、“ 年龄”和“ 上次修改时间” 列,然后选择“ 确定”。
  5. 视图: 所有人员窗口上,通过选择左移和右移箭头来排列列顺序,然后选择保存并关闭
  6. 在“解决方案资源管理器”窗口中,选择“ 发布所有自定义项”。
  7. 发布了所有自定义项之后,关闭解决方案资源管理器窗口。

在模型驱动应用中使用虚拟表

创建模型驱动应用并将 Person 表添加到站点地图。 然后,选择 “人员” 主窗体和 “人员高级查找” 视图。 发布应用。 详细信息: 从头开始生成第一个模型驱动应用

然后,应用用户可以像Microsoft Dataverse 中的其他任何表一样,使用虚拟表执行读取、创建、更新和删除作。

使用虚拟表创建、查看和删除记录

  1. 运行模型驱动应用。 选择“ 新建”,完成所需的列,然后保存记录。
  2. 再次选择 “新建 ”以创建另一条记录并保存。
  3. 现在,在“ 所有人员 ”视图中,应有两条类似于以下内容的记录。 查看所有人员。
  4. 若要删除记录,请选择人员记录,然后选择“ 删除”。 确认以删除确认页上的记录。

另请参阅

OData v4 数据提供程序配置、要求和最佳做法
创建和编辑包含来自外部数据源的数据的虚拟表