C# 如何在迭代中获取所有工作项?

C# 如何在迭代中获取所有工作项?,c#,tfs,C#,Tfs,我正在使用TFS客户端库,例如Microsoft.TeamFoundation.*程序集。。。假设我有一个迭代名称,如何检索属于它的所有工作项 我使用查询对象尝试了以下操作: var uri = new Uri(ConfigurationManager.AppSettings["TfsUri"]); var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri); var wiStore = tfs.GetServi

我正在使用TFS客户端库,例如Microsoft.TeamFoundation.*程序集。。。假设我有一个迭代名称,如何检索属于它的所有工作项

我使用查询对象尝试了以下操作:

var uri = new Uri(ConfigurationManager.AppSettings["TfsUri"]);
var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri);
var wiStore = tfs.GetService<WorkItemStore>();

var queryText = "select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] from WorkItems where [System.TeamProject] = 'VieroSAT'  and [System.State] = 'Dev'  order by [System.Id]";
var query = new Query(wiStore, queryText);
但我不知道如何通过迭代名称来限制结果。我更愿意使用TFS程序集返回这些值,但是我找不到合适的方法

所以我的问题

如何仅使用TFS程序集(例如,不使用查询)返回迭代中所有工作项的列表。 如果1是不可能的,那么除了使用查询对象外,如何执行上述操作。
我没有一种快速的方法来测试它,但是根据,您可以在查询中使用UnderComparison操作符。但是,我不确定您将在where子句中使用哪个字段来与迭代名称进行比较。也许是这样的:

select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State]
from WorkItems
where
  [System.TeamProject] = 'VieroSAT'
  and [System.State] = 'Dev'
  and [System.IterationPath] Under 'Iteration1'
order by [System.Id]

您可以在VS/Web Access中生成查询并将其保存到文件中,然后检查所使用的WIQL,然后在应用程序中使用该WIQL。@DaveShaw您可以展开吗?如何将查询保存到文件?文件,另存为。。。。在visual Studiot中,此查询返回一个错误,指出错误是由[Work Item]引起的,我不确定该字段应该是什么。我似乎在字段列表中找不到任何可供查询的字段。@AngryHacker根据DaveShaw的评论,请尝试以下操作:[System.AreaId]=15或[System.NodeName]='Iteration1'我已用[System.IterationPath]更新了上面的查询。查询工作的简单方法是在Visual Studio中创建然后将其保存到桌面并在记事本中打开。。。。