我正在尝试通过以下方式查询Rally api
req.Query = new Query("User.ObjectID", Query.Operator.Equals, loggedinUser.ToString()).And(new Query("Role", Query.Operator.Contains, Role).And(new Query("Workspace.ObjectID", Query.Operator.Contains, workspaceID)).And(new Query("Project.ObjectID", Query.Operator.Equals, projectObjectID)));
但是它抛出错误
The operator [ contains ] is not supported for this attribute type. The available operators are [ =, !=, >, <, >=, <=, in ]
是否包含不推荐使用的关键字?在这种情况下,请帮助我替代。
答案 0 :(得分:2)
您不能将contains
用于对象ID-该属性是数字。 contains
保留用于字符串和集合。
特别是Workspace.ObjectID毁了您的一天。将其更改为equals
,就可以了。
答案 1 :(得分:1)
不再支持此类查询,但以前可以使用。
当我将“包含”替换为“等于”时,它可以正常工作
req.Query = new Query("User.ObjectID", Query.Operator.Equals, loggedinUser.ToString()).And(new Query("Role", Query.Operator.Equals, Role).And(new Query("Workspace.ObjectID", Query.Operator.Equals, workspaceID)).And(new Query("Project.ObjectID", Query.Operator.Equals, projectObjectID)));