是否有人知道是否可以使用他们的TFS API网络服务从TFS一次性检索工作项及其链接工作项的列表?
目前,我们不得不为第一次通话期间制作的每个工作项进行第二次调用,并且正在引入性能问题。
如果不是这样,是否可以在不检索链接工作项的情况下查看链接工作项的类型(例如,查看它是任务还是问题)?
答案 0 :(得分:17)
您在答案中提及的article提供了一种方法,可以使用WIQL执行您之后的操作。当然,这不是一个糟糕的选择。
另一种方式,在我看来更好的方法是简单地以图形方式生成查询,从而产生您之后的结果。您可能需要一个简单的"工作项目和直接链接":
一旦您已经保存了您,您将会这样做能够:
对于后一部分,假设您的查询被命名为" MyLinkedQuery"它位于" Team Queries"通过TeamProject" MyProj",您可以这样做:
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
namespace LinkedQueryResults
{
class Program
{
static void Main()
{
TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFSURL"));
var workItemStore = (WorkItemStore)teamProjectCollection.GetService(typeof(WorkItemStore));
var project = workItemStore.Projects["MyProj"];
QueryHierarchy queryHierarchy = project.QueryHierarchy;
var queryFolder = queryHierarchy as QueryFolder;
QueryItem queryItem = queryFolder["Team Queries"];
queryFolder = queryItem as QueryFolder;
if (queryFolder != null)
{
var myQuery = queryFolder["MyLinkedQuery"] as QueryDefinition;
if (myQuery != null)
{
var wiCollection = workItemStore.Query(myQuery.QueryText);
foreach (WorkItem workItem in wiCollection)
{
Console.WriteLine(workItem.Title);
}
}
}
}
}
}
答案 1 :(得分:9)