wiql クエリを使用して、チーム プロジェクトのすべての異なるイテレーション パスを取得しようとしています。
私の実際の解決策は次のとおりです。
このクエリを使用します
public static readonly string IterationPathsQuery = @"SELECT [System.IterationPath] FROM workitems
WHERE[System.WorkItemType] = 'Requirement'
OR[System.WorkItemType] = 'Feature'";
関連するすべての WorkItem を取得し、それらを反復処理して、すべての異なる反復パスを取得します。
private void FillIterationPathComboBox(WorkItemStore wiStore)
{
WorkItemCollection wiCollection = wiStore.Query(Constants.IterationPathsQuery);
var paths = new List<string>();
...
foreach (WorkItem wi in wiCollection)
{
...
if (!String.IsNullOrEmpty(wi.IterationPath) && !paths.Contains(wi.IterationPath))
{
paths.Add(wi.IterationPath);
}
}
foreach (string path in paths)
{
IterationPathComboBox.Items.Add(path);
}
}
しかし、このソリューションはパフォーマンスが良くありません。使用されている異なる反復パスのみを照会する方法はありますか? 「distinct」がサポートされていないことはすでに読みましたが、まだ考えていなかった方法があるかもしれません。