我想使用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]»."
字段定义具有name =" 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)
{
...
}
}
但现在表现不好。
我该怎么办?该问题与this类似,但我仍无法根据讨论解决问题。
答案 0 :(得分:1)
方法是首先在visual studio中创建所需的查询。一旦你有了工作,你可以"保存为"到本地磁盘并在记事本中打开它。您可以从那里复制查询。