2012-10-24 5 views
16

Devo trovare gli elementi di lavoro TFS relativi a un determinato argomento nel nostro progetto. A tale scopo, ho provato a interrogare gli elementi di lavoro utilizzando il generatore di query in Visual Studio.Visual Studio: Query Elementi di lavoro TFS: AND/OR La logica non funziona?

Visto che ci sono più termini che vorrei cercare, ho immaginato una query come questa:

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

Ora, secondo http://msdn.microsoft.com/en-us/library/dd286638.aspx (Sezione E/O) si dovrebbe essere in grado di farlo come così:

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

Ma ... che non funziona come descritto: per quanto posso vedere, questo è trattato come

(Priorità> 300 E Title.Contains ('Dog')) OR Title.Contains ('Cat') OR Title.Contains ('Hamster')))

Ora questo è un po 'un problema per me, perché a parte un criterio di "Priorità", ho anche 8 criteri aggiuntivi che devono essere applicati a tutte le partite (Data, Stato, ecc.). E non ho solo tre possibili titoli, ma una decina. In tal modo si moltiplica e finirei con una query terribilmente lunga e per lo più ridondante.

.. o, mi manca qualcosa qui? C'è un altro modo per esprimere quelle affermazioni? O c'è anche un altro modo per interrogare gli oggetti di lavoro di TFS, come un altro strumento?

Grazie!

risposta

27

È necessario "Raggruppare" le clausole Titolo per ottenere la query prevista. Seleziona le tre clausole "Titolo", clic destro e seleziona "Clausole di gruppo".

Group Clauses

Ecco un elemento di cattura di una query che ho creato in VS2012 per fare questo, ma è lo stesso del 2010.

Sarà solo trovare items di lavoro con una priorità >4e un titolo contenente oCrash, Error o Working.

Query with Grouped Clauses

+0

+1 Questo mi stava facendo impazzire! Puoi farlo anche nell'interfaccia utente Web, selezionando le caselle accanto a ciascuna clausola e facendo clic sul pulsante * Raggruppa le clausole selezionate * nella parte superiore della colonna. –