我找到了另一种方法来帮助你。使用工作项查询来查找这些工作项似乎无法做到这一点。但是您可以使用这种方法:找到每个工作项的工作项链接,检查其链接类型是否为“父/子”,并检查其添加/删除日期是否在您的时间段内。
var workItemStore = teamProjectCollection.GetService<WorkItemStore>();
var queryString = @"select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State], [System.Tags]
from WorkItemLinks
where (
Source.[System.TeamProject] = 'Mtt-Scrum'
and Source.[System.WorkItemType] <> ''
) and (
[System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'
or [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Reverse'
) and (
Target.[System.TeamProject] = 'Mtt-Scrum'
and Target.[System.WorkItemType] <> ''
)
order by [System.Id] mode (MustContain)";
// Create and run the query.
var query = new Query(workItemStore, queryString);
WorkItemLinkInfo[] witLinkInfos = query.RunLinkQuery();
foreach (WorkItemLinkInfo witinfo in witLinkInfos)
{
if (witinfo.SourceId == 0) //find those workitems which are not at top-level
{
int targetWIid = witinfo.TargetId;
WorkItem workItem = workItemStore.GetWorkItem(targetWIid); //get the workitem
foreach (WorkItemLink wiLink in workItem.WorkItemLinks)
{
if (wiLink.LinkTypeEnd.Name.Equals("Parent") || wiLink.LinkTypeEnd.Name.Equals("Child"))
{
if (DateTime.Compare(wiLink.AddedDate, 'yourDate') < 0)
{
......
}
}
}
}
}