Visual Studio: запрос рабочих элементов TFS: И / ИЛИ Логика не работает?

Мне нужно найти рабочие элементы 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 И Title.Contains('Собака')) ИЛИ Title.Contains('Кошка') ИЛИ Title.Contains('Хомяк')))

Теперь это немного проблематично для меня, потому что кроме критерия "Приоритет" у меня также есть 8 дополнительных критериев, которые должны применяться ко всем матчам (Дата, Штат и т. Д.). И у меня есть не только три возможных титульных матча, но и около десяти. Так что это умножается, и я получаю запрос, который ужасно длинный и в основном избыточный.

.. или я что-то здесь упускаю? Есть ли другой способ выразить эти заявления? Или есть даже другой способ запроса рабочих элементов TFS, как другой инструмент?

Спасибо!

1 ответ

Решение

Вам нужно "сгруппировать" предложения Title, чтобы получить ожидаемый запрос. Выберите три предложения "Заголовок", щелкните правой кнопкой мыши и выберите "Групповые предложения".

Групповые предложения

Вот фрагмент запроса, который я создал в VS2012, чтобы сделать это, но в 2010 году он не изменился.

Он найдет только рабочие элементы с приоритетом >4 и заголовок, содержащий либо Crash, Error или же Working,

Запрос с сгруппированными предложениями

Другие вопросы по тегам