我正在将ODataQueryOptions对象解析为SQL,在解析FilterQueryOption成员时,我注意到FilterClause.Expression节点树不包含任何关于括号的显式信息。相反,当括号发生变化时,“和”和“或”节点出现的顺序发生变化。
当创建表示过滤器表达式的节点树时,ODataQueryOptions使用哪些规则来推断圆括号所在的位置?
发布于 2019-01-11 14:07:48
我想明白了,所以对于任何想知道它是如何工作的人来说:
对于任何OR节点,在括号中封装整个左项和整个右项。
例如,对于ab \c (d _( e )),树的结构使一个OR节点将d和e连接起来,因此该术语应该是"(d或e)",而or节点连接ab和c(D_X),因此术语应该是"(a和b或c和(d或e))“。
https://stackoverflow.com/questions/54127561
复制相似问题