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

时间:2012-10-24 10:18:39

标签: visual-studio-2010 tfs workitem

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

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

WHERE (
Priority > 300 AND 
(Title.Contains('Dog') OR Title.Contains('Cat') OR Title.Contains('Hamster')))

现在,根据http://msdn.microsoft.com/en-us/library/dd286638.aspx(部分和/或),应该可以这样做:

    | Priority|   >    | 300
And | Title | Contains | Dog
Or  | Title | Contains | Cat
Or  | Title | Contains | Hamster

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:33)

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

Group Clauses

这是我在VS2012中创建的一个查询片段,但是在2010年也是如此。

只会找到优先级为>4 的工作项,其中包含 CrashError或{{ 1}}。

Query with Grouped Clauses