You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用WorkItemTrackingHttpClient.QueryByWiqlAsync()时指定Id外字段是否有意义?

为什么微软示例中WiQL查询多字段却只使用ID?

你观察得很准——确实只选[Id]就足够满足后续调用GetWorkItemsAsync()的需求,而且默认情况下WorkItemQueryResult里也拿不到那些额外字段的数据。至于示例这么写的原因,主要有这几点:

  • 示例的教学优先级高于性能优化:微软的代码示例往往更侧重展示API的完整用法,比如如何在WiQL中指定多个字段,而不是针对单一场景做极致优化。哪怕当前场景用不到这些字段,也会写出来让用户知道怎么多选字段。
  • 预留扩展空间:很多示例是从更复杂的实际场景简化来的,或者是为了方便用户后续修改代码。如果之后需要直接从查询结果里获取State、Title这类字段,只要给QueryByWiqlAsync()加上$expand=fields的参数,就能直接拿到数据,不用再修改WiQL语句。
  • 文档示例的“惯性写法”:不少示例会沿用早期的写法,或者统一保持“完整字段选择”的风格,避免用户误以为WiQL只能选单个字段。

另外补充个关键细节:WorkItemQueryResult默认只返回工作项的ID和链接信息,想要拿到选中的字段数据,必须在调用QueryByWiqlAsync()时指定expand=WorkItemFields参数(或者通过OData的$expand=fields)。如果示例没加这个参数,那那些选了的字段确实是拿不到的,这也侧面说明示例的重点不在字段获取,而是展示查询+批量获取工作项的流程。

内容的提问来源于stack exchange,提问作者Matthew Watson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:10:47