OData v4 数据提供程序配置,要求和最佳实践
本主题介绍如何配置 OData v4 数据提供程序,以及将 OData v4 数据提供程序用于连接 OData v4 Web 服务的要求和建议的最佳实践。
OData v4 数据提供程序最佳实践
- Microsoft Dataverse 要求所有表都有一个 ID 属性,该 ID 称为唯一标识符,而值必须为 guid。 您仅可以将 ID 列映射到数据类型为
Edm.Guid
的外部列。 不能将Edm.Int32
数据类型映射到 Dataverse 中的“唯一标识符”数据类型列。 - 必须设置具有可空属性的 OData 表,以便匹配虚拟表中映射的列。 例如,Nullable=False 的 OData 表属性必须将 Dataverse 字段要求属性中映射的列设置为业务必需。
- 要检索多个查询,如在将数据加载到网格中时,请通过使用选择参数和筛选器查询参数控制外部数据源返回的数据集的大小。
- 如果尚未启用插件跟踪,系统管理员应启用。 启用后,将把来自 OData 终结点的所有错误捕获到插件跟踪日志中。 详细信息:管理员指南:“系统设置”对话框 -“自定义”选项卡
- 不能使用 OData v4 数据提供程序连接到另一个环境。
数据类型映射
下表列出了 OData 表数据模型 (EDM) 数据类型与 Dataverse 数据类型之间的映射。
OData 数据类型 | Dataverse 数据类型 |
---|---|
Edm.Boolean |
两个选项 |
Edm.DateTime |
日期和时间 |
Edm.DateTimeOffset |
日期和时间 |
Edm.Decimal |
十进制数字或货币 |
Edm.Double |
浮点数 |
Edm.Guid |
唯一标识符 |
Edm.Int32 |
整数 |
Edm.Int64 |
整数 |
Edm.String |
一行文本或多行文本 |
不支持与虚拟表映射的 OData EDM 数据类型
Edm.Binary
Edm.Time
Edm.Float
Edm.Single
Edm.Int16
Edm.Byte
Edm.SByte
使用 OData v4 数据提供程序添加数据源
此过程向您显示如何将现成的 OData 数据提供程序用作虚拟表数据源。
转至**设置** > 管理 > 虚拟实体数据源。
在操作工具栏上单击新建。
在选择数据提供程序对话框中,从以下数据源中进行选择,然后单击确定。
- OData v4 数据提供程序。 Dataverse 中包含 Odata v4 数据提供程序,可用于连接到支持 OData v4 开放标准的数据源。
- 自定义数据提供程序。 如果已导入数据提供程序插件,将在此处显示该数据提供程序。 详细信息:开发人员文档:虚拟表入门
在新数据源属性页面中,填写以下列,然后保存行。
- 名称. 键入用于描述数据源的名称。
- Uri。 如果在使用 OData 数据提供程序,请输入 OData Web 服务的 uri。 例如,如果在使用 OData 提供程序连接到 Azure 中托管的 Web 服务,URI 可能类似
https://contosodataservice.azurewebsites.net/odata/
。 - 超时(以秒为单位)。 输入数据请求超时前等待 Web 服务响应的秒数。例如,输入 30 将最多等待 30 秒才超时。
- 分页模式。 选择使用客户端还是服务器端分页控制查询结果的分页方式。 默认值为客户端分页。 如果使用服务器端分页,服务器通过使用 $skiptoken 参数(将把该参数添加到查询字符串)控制结果的分页方式。 详细信息:跳过标记系统查询选项 ($skiptoken)
- 返回内联计数。 返回结果集中的总数行。 此设置用于在将数据返回到网格时启用下一页功能。 如果 OData 终结点不支持 OData $inlinecount 参数,请使用值 false。 默认值为 false。
- 请求参数。 可以选择自定义用于连接到 OData Web 服务的标头或查询字符串参数,如外部服务的身份验证参数。 单击查询字符串可在标头和查询字符串参数与值之间切换。 最多可以添加 10 个标头或查询字符串。