出于测试目的,我在几列的表中查询术语“测试”。生成的过滤器 url 如下所示:
$filter=(substringof('test',Column1) eq true)) 和 (substringof('test',Column2) eq true)) 和 (substringof('test',Column3) eq true)) ...
查询工作正常,直到查询的列数超过 15。此时我收到以下错误消息:
查询失败:已超出“100”的节点计数限制。要增加限制,请在 QueryableAttribute 或 ODataValidationSettings 上设置“MaxNodeCount”属性。
我通过将以下属性添加到被调用的 api 方法来解决它:
[Queryable(
AllowedQueryOptions = AllowedQueryOptions.All,
AllowedFunctions = AllowedFunctions.AllFunctions,
MaxNodeCount = 200)]
但这似乎不适用于外国实体。使用扩展功能时,它们始终为空。我检查了生成的过滤器 url,它确实包含必要的 $expand 语法。
还有什么我想念的吗?