2012-10-24 56 views
16

我需要在我们的项目中找到与某个主题相关的TFS工作项目。 为此,我尝试在Visual Studio中使用查询生成器查询工作项。Visual Studio:查询TFS工作项:AND/OR逻辑不起作用?

既然有我想搜索的多个方面,我想象这样的查询:

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和Title.Contains( '狗'))OR Title.Contains( '猫')或Title.Contains( '仓鼠')))

现在就是有点对我的问题,因为除了“优先级”标准外,我还有8项标准需要适用于所有比赛(日期,州等)。我不仅有三场可能的冠军赛,而且还有十场。因此,这会增加并且我最终会得到一个非常冗长的查询。

..或,我在这里错过了什么?还有另外一种方式来表达这些陈述吗?还是有另一种方式来查询TFS工作项目,就像另一种工具?

谢谢!

回答

27

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

Group Clauses

这是我在VS2012为此创建一个查询的剪断,但它同样在2010年

它只会找到一个优先>4包含标题的工作项目或者Crash,Error或者Working

Query with Grouped Clauses

+0

+1这让我疯狂!您也可以在Web UI中执行此操作 - 通过选中每个子句旁边的复选框并单击列顶部的* Group selected clauses *按钮。 –