这对于一个查询是不可能的,至少您需要 2 个,因为您不能将链接过滤器与查询的一部分结合起来:
WorkItemType = UserStory AND AssignedTo = @ME
WorkItemType = 任务 AND AssignedTo = @ME
链接工作项的过滤器:
WorkItemType = UserStory AND AssignedTo <> @ME
返回所有顶级工作项
第一个查询将仅列出分配给您的所有用户故事,无论某些内容是否已链接。第二个查询将列出分配给您的所有任务,但没有分配给您的 UserStory 链接。
[编辑]
另一种选择可能是结合两个查询,但我无法在我的环境中测试它:
(WorkItemType = 任务或 WorkItemType = 用户故事)AND AssignedTo = @ME
链接工作项的过滤器:
WorkItemType = UserStory AND AssignedTo <> @ME
返回所有顶级工作项
这将列出分配给您但没有链接父用户故事的所有用户故事和任务。
[编辑2]
<?xml version="1.0" encoding="utf-8"?><WorkItemQuery Version="1"><TeamFoundationServer>http://tfs:8080/tfs/DefaultCollection</TeamFoundationServer><TeamProject>Test</TeamProject><Wiql>SELECT [System.Id], [System.Links.LinkType], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] FROM WorkItemLinks WHERE ([Source].[System.TeamProject] = @project AND ( [Source].[System.WorkItemType] = 'Task' OR [Source].[System.WorkItemType] = 'UserStory' ) AND [Source].[System.AssignedTo] = @me) And ([System.Links.LinkType] <> '') And ([Target].[System.WorkItemType] = 'UserStory' AND [Target].[System.AssignedTo] <> @me) ORDER BY [System.Id] mode(MayContain)</Wiql></WorkItemQuery>