【问题标题】:Team Foundation Server 2012 (WorkItem object does not contain „AssignedTo“ property)Team Foundation Server 2012(WorkItem 对象不包含“AssignedTo”属性)
【发布时间】:2014-02-27 04:28:53
【问题描述】:

代码sn-p:

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));

我找到了属性列表中有 [Assignet To] 的 wiql 查询示例,

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 数组。因此,我原来的问题仍然存在。

怎么办?

【问题讨论】:

    标签: tfs-workitem wiql


    【解决方案1】:

    AssignedTo 属性嵌套在另一个属性中:字段。您可以通过 referenceName(在本例中为 System.AssignedTo)键入该字段集合,例如 wi.Fields["System.AssignedTo"].Value,其中 wi 是一个 WorkItem。您还可以使用 Linq 对整个 WorkItemCollection 进行操作,而不是对单个工作项进行操作,如果这是您所追求的。

    【讨论】:

    • 谢谢。我很久以前就解决了这个问题,但忘记将此问题标记为已解决。我感到困惑的主要原因是我有一段时间没有真正发现 Fields 属性。一旦我这样做了,我就意识到为什么在线没有关于此的文档。它是如此简单,但并不直观,因为我的查询中的某些属性在 fields 属性之外可用。
    猜你喜欢
    • 2013-04-15
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 2012-08-23
    • 2016-10-04
    • 2014-12-26
    • 2016-01-31
    • 2014-08-29
    相关资源
    最近更新 更多