1

我有以下 API 请求: ...api/data/v8.0/rts_xrmsettings?$select=rts_name,rts_value,statecode&$filter=statecode eq 0 and (contains(rts_name, 'Sample') or contains(rts_name, 'Test'))

然而,数据集返回如下:

{"@odata.etag":"rts_name":"Test","rts_value":"Some Value","statecode":0},
{"@odata.etag":,"rts_name":"(Sample) Test Setting","rts_value":"Now You See Me","statecode":0},
{"@odata.etag":"rts_name":"(Sample) Test Inactive Setting","rts_value":"Now You Don't","statecode":1}

包括一个实体,statuscode=1为什么要包括这个实体?

如果我将过滤器更改为filter=(contains(rts_name, 'Test') and statecode eq 0) or (contains(rts_name, 'Sample') and statecode eq 0)收到所需的输出,但我正在尝试动态构建过滤器字符串,而通过代码创建这很麻烦。

就布尔代数而言,A.B + A.C = A.(B+C)因此过滤器应该返回相同的结果,但事实并非如此。

4

0 回答 0