FetchXML 是基于 XML 的专有查询语言,用于从 Dataverse 检索数据。 有关用于检索数据的元素,请参阅 FetchXml 参考 。
注释
还可以使用 FetchXML 为模型驱动应用和某些报告功能定义视图。 本文不包含这些用例的元素和属性。 详细了解如何使用代码自定义模型驱动应用视图。
撰写 FetchXML 查询
所有查询都基于单个表。 根元素是fetch。 使用 实体元素 选择查询从中检索数据的表。 以下示例表示简单的 FetchXML 查询:
<fetch top='5'>
<entity name='account'>
<attribute name='name' />
</entity>
</fetch>
此查询返回 Account 表中前五行的 Name 列,并使用表的 LogicalName 来设置 实体name属性。
限制行数
若要限制返回的行数,请使用 fetch 元素top 属性。
top如果没有属性,Dataverse 最多返回 5,000 个标准表行和 500 个弹性表行。
或者,使用分页指定要返回的记录数。 请求数据页时不要使用该 top 属性。
了解如何请求分页结果
当使用 returntotalrecordcount 属性请求行数时,不能使用 top。
了解如何对行进行计数
返回不同的结果
使用 fetch 元素distinct 属性要求查询排除结果中的任何重复值。
如果使用distinct属性,则必须添加至少一个顺序元素才能保持一致的分页。
使用distinct属性时,返回的结果不包括每个记录的主键值,因为这些结果是所有不同值的汇总。
使用 FetchXML 检索数据
若要从查询获取结果,请将请求发送到 Dataverse。 了解如何使用 FetchXml 从 Dataverse 检索数据。
优化查询
选择要启动查询的表后,请优化查询以获取所需的数据。 以下文章介绍如何完成查询。
| 文章 | 任务 |
|---|---|
| 选择列 | 指定要返回的数据列。 |
| 联接表 | 指定要在结果中返回的相关表。 |
| 对行进行排序 | 指定要返回的行的排序顺序。 |
| 筛选行 | 指定要返回的数据行。 |
| 页面结果 | 指定要随每个请求返回的数据行数。 |
| 聚合数据 | 如何对返回的数据进行分组和聚合。 |
| 对行数进行计数 | 如何获取返回的行数的计数。 |
| 性能优化 | 如何优化性能。 |
社区工具
有免费的工具来撰写和测试 FetchXML 请求:
注释
Microsoft不支持社区创建的工具。 如果你对社区工具有疑问或问题,请联系该工具的发布者。
使用 FetchXML 作为消息参数
你还可以将 FetchXML 用作 Dataverse 操作的参数,例如以下消息:
| 消息名称 | .NET SDK Request 类 | Web API 操作 |
|---|---|---|
BackgroundSendEmail |
后台发送电子邮件请求 | BackgroundSendEmail 操作 |
BulkDetectDuplicates |
BulkDetectDuplicatesRequest | BulkDetectDuplicates 操作 |
FullTextSearchKnowledgeArticle |
FullTextSearchKnowledgeArticleRequest(全文搜索知识文章请求) | FullTextSearchKnowledgeArticle操作 |
FetchXmlToQueryExpression |
FetchXmlToQueryExpressionRequest | FetchXmlToQueryExpression 函数 |
SendBulkMail |
SendBulkMailRequest | SendBulkMail操作 |
Rollup |
RollupRequest | 汇总函数 |
后续步骤
了解如何选择列。
了解如何使用 FetchXML 检索数据。