gpt4 book ai didi

tfs - 如何在 WIQL 的 ms sql 中使用 LIMIT 关键字来查询 TFS 工作项

转载 作者:行者123 更新时间:2023-12-04 19:11:47 28 4
gpt4 key购买 nike

我正在研究 TFS API,我不知道 TFS API 有任何类似 LIMIT 关键字或没有的东西。我需要它来进行分页。

谢谢

最佳答案

没有什么等同于 SQL LIMIT TFS WIQL 中的关键字,您需要自己实现分页。

一种方法是在第一次访问时检索所有结果,并缓存它们并自己分页。

另一种方法是在每次用户页面时动态构建 WIQL 查询。例如:

  • 运行 WIQL 查询以仅返回与查询匹配的工作项 ID。 SELECT [System.Id] FROM WorkItems WHERE <conditions>
  • 缓存该 ID 列表
  • 将该 ID 列表分成与您的分页大小匹配的组
  • 每次您的用户页面时,通过 ID 明确请求工作项。 SELECT <fields> FROM WorkItems WHERE [System.Id] IN (10,11,12,13,14,15)

  • 根据您要实现的目标,您还应该知道 TFS 工作项跟踪 API 在后台实现了字段值的分页/延迟加载,以最大限度地提高响应时间。您可以通过附加网络嗅探器并在 Visual Studio 中滚动大型工作项查询来了解其工作原理。

    Paging of Field Values想要查询更多的信息:

    You can minimize round trips to the server by selecting all fields that your code will use. The following code makes one round trip for the query and one round trip to return a page of titles every time that a new page is accessed.


    WorkItemCollection results = WorkItemStore.Query(
    "SELECT Title FROM Workitems WHERE (ID < 1000)");

    foreach (WorkItem item in results)
    {
    Console.WriteLine(item.Fields["Title"].Value);
    }

    If your code accesses a field that you did not specify in the SELECT clause, that field is added to the set of paged fields. Another round trip is performed to refresh that page to include the values of that field.

    关于tfs - 如何在 WIQL 的 ms sql 中使用 LIMIT 关键字来查询 TFS 工作项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14282712/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com