Visual Studio:查询TFS工作项:AND/OR逻辑不起作用?

Efr*_*ain 21 tfs workitem visual-studio-2010

我需要找到与项目中某个主题相关的TFS工作项.为此,我尝试使用Visual Studio中的查询构建器查询工作项.

由于我希望搜索多个术语,我想象一个这样的查询:

WHERE (
Priority > 300 AND 
(Title.Contains('Dog') OR Title.Contains('Cat') OR Title.Contains('Hamster')))
Run Code Online (Sandbox Code Playgroud)

现在,根据http://msdn.microsoft.com/en-us/library/dd286638.aspx(节和/或)应该能够做到这一点,像这样:

    | Priority|   >    | 300
And | Title | Contains | Dog
Or  | Title | Contains | Cat
Or  | Title | Contains | Hamster
Run Code Online (Sandbox Code Playgroud)

但是......这不能像所描述的那样起作用:据我所见,这被视为

(优先级> 300 AND Title.Contains('Dog'))或Title.Contains('Cat')OR Title.Contains('Hamster')))

现在这对我来说有点问题,因为除了"优先级"标准之外,我还有8个额外的标准需要应用于所有匹配(日期,状态等).我不仅有三场冠军赛,而且还有十场左右.因此,这将成倍增加,我最终会得到一个非常长且多数冗余的查询.

..或者,我在这里遗漏了什么?有没有其他方式来表达这些陈述?或者是否有另一种方法来查询TFS工作项,比如另一种工具?

谢谢!

Dav*_*haw 34

您需要将Title子句"分组"在一起以获得您期望的查询.选择三个"标题"子句,右键单击并选择"组子句".

小组条款

这是我在VS2012中创建的查询的剪辑,但是在2010年它是相同的.

它只会找到一个优先工作项目>4 ,并包含一个标题或者 Crash,ErrorWorking.

使用分组子句查询

  • +1这让我抓狂!您也可以在Web UI中执行此操作 - 通过选中每个子句旁边的框并单击列顶部的*Group selected clauses*按钮. (3认同)