我工作的TFS API,我不知道,TFS API有像LIMIT关键字或Ⅰ号的任何东西都需要它分页。
谢谢
我工作的TFS API,我不知道,TFS API有像LIMIT关键字或Ⅰ号的任何东西都需要它分页。
谢谢
没有什么相当于SQL LIMIT
在TFS WIQL关键字,则需要自己实现分页。
一种方法是检索所有的第一次访问的结果,和自己缓存它们和页面他们。
另一种方法是每次动态构造WIQL查询您的用户页面。 例如:
SELECT [System.Id] FROM WorkItems WHERE <conditions>
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子句中指定一个字段,该字段添加到组分页字段。 另一个往返进行刷新该页面以包括字段的值。
我遇到过同样的问题。 我申请Take
的顺序限制查询提供的结果。 很不幸,实际上并不限制由数据库返回的结果,但由于不支持此功能,它提供了一个可行的选择。
Me.mWorkItems.Query(pstrSQL).OfType(Of WorkItem)().Take(5)
使用Skip
和Take
在一起可以工作分页。