2014-02-03 4 views
0

Фрагмент кода:Team Foundation Server 2012 (объект WorkItem не содержит «AssignedTo» свойство)

string WIQL = "SELECT * FROM WorkItems WHERE [System.AssignedTo] = @Me AND [System.State] <> '400 CLOSED' ORDER BY [System.WorkItemType], [System.Id]"; 

List<WorkItem> w = getWorkItemsAsList(_workItemStore.Query(WIQL)); 

я нашел примеры wiql запросов, которые имеют [Assignet К] в списке атрибутов,

SELECT [System.Id], [System.Title], [Area Path], [Iteration Path], [Priority], [Test Owner], [Assigned To],[System.State], [System.Reason] 
FROM WorkItems 
WHERE [System.WorkItemType] = 'Feature' and 
     [Iteration Path] != '' and 
     [Area Path] Under 'MyProject' 

, но каждый раз, когда выполняется такой запрос wiql, он возвращает массив WorkItems без требуемого свойства. Поэтому моя оригинальная проблема остается.

Что делать?

ответ

0

Свойство AssignedTo вложено в другое свойство: Поля. Вы можете ввести в эту коллекцию полей значение referenceName (System.AssignedTo, в данном случае), что-то вроде wi.Fields ["System.AssignedTo"]. Значение, где wi - это WorkItem. Вы также можете использовать Linq для работы со всем WorkItemCollection вместо одного рабочего элемента, если это то, что вам нужно.

+0

Спасибо. Я давно решил эту проблему, но забыл отметить этот вопрос, как только решил. Основная причина моей путаницы в том, что я на некоторое время не обнаружил свойство Fields. Как только я это сделал, я понял, почему нет документации об этом онлайн. Это так просто, но не интуитивно понятно, потому что некоторые свойства в моем запросе доступны вне свойств полей. –