如何使用LIMIT关键字的使用MS SQL通过WIQL查询TFS工作项目(How to use LI

2019-08-06 12:08发布

我工作的TFS API,我不知道,TFS API有像LIMIT关键字或Ⅰ号的任何东西都需要它分页。

谢谢

Answer 1:

没有什么相当于SQL LIMIT在TFS WIQL关键字,则需要自己实现分页。

一种方法是检索所有的第一次访问的结果,和自己缓存它们和页面他们。

另一种方法是每次动态构造WIQL查询您的用户页面。 例如:

  1. 运行WIQL查询只返回与查询匹配的工作项的ID。 SELECT [System.Id] FROM WorkItems WHERE <conditions>
  2. 缓存ID的该列表
  3. 打破ID的该列表到与你分页大小组
  4. 每次你的用户的页面,明确工作项目的通过ID请求。 SELECT <fields> FROM WorkItems WHERE [System.Id] IN (10,11,12,13,14,15)

根据您所想要达到的目的,你也应该知道,TFS工作项跟踪API的封面字段值下实现分页/延迟加载,最大限度地提高响应时间。 你可以看到这是如何工作通过连接网络嗅探器和滚动在Visual Studio中大工作项查询。

见字段值的寻呼的详细资料:

您可以选择您的代码将使用所有领域最大限度地减少往返服务器。 下面的代码使用于查询一个来回,一个来回每一个新的页面被访问时返回标题的页面。

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

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

如果你的代码访问,你没有在SELECT子句中指定一个字段,该字段添加到组分页字段。 另一个往返进行刷新该页面以包括字段的值。



Answer 2:

我遇到过同样的问题。 我申请Take的顺序限制查询提供的结果。 很不幸,实际上并不限制由数据库返回的结果,但由于不支持此功能,它提供了一个可行的选择。

Me.mWorkItems.Query(pstrSQL).OfType(Of WorkItem)().Take(5)

使用SkipTake在一起可以工作分页。



文章来源: How to use LIMIT keyword as using in ms sql by WIQL to query TFS workItem