我想使用 WIQL where 子句中的自定义字段通过 TFS API 和 WIQL 访问 TFS 数据:
string wiqlQueryDoorsProxy =
"Select * from WorkItems where ([Work Item Type] = 'DoorsProxy' AND [Object Id] = '\" + requirementId + "\')";
其中 [Object Id] 是自定义字段。但是 TFS API 给出了异常消息:
"TF51005: The query references a field that does not exist. The error is caused by «[Object Id]»."
字段定义的名称 =“Object Id”,参考名称 =“DoorsTool.DoorsArtifactType.ObjectId”。我在 WIQL 中尝试了 Object Id 和 DoorsTool.DoorsArtifactType.ObjectId。结果相同。
我将代码更改如下,它运行良好:
string wiqlQueryDoorsProxy ="Select * from WorkItems where ([Work Item Type] = 'DoorsProxy' )";
WorkItemCollection witCollectionDoorsProxy = wiStore.Query(wiqlQueryDoorsProxy);
foreach (WorkItem workItemDoorsProxy in witCollectionDoorsProxy)
{
workItemDoorsProxy.Open();
if (workItemDoorsProxy.Fields["Object Id"].OriginalValue.ToString() == requirementId)
{
...
}
}
但是现在性能很差。
我能做些什么。问题看起来与此类似,但我仍然无法根据该讨论解决问题。