當 Entity SQL 查詢有多個運算子時,運算符優先順序會決定執行作業的順序。 執行順序可能會大幅影響查詢結果。
下表顯示運算子的優先順序層級。 具有較高層級的運算子會在較低層級的運算符之前進行評估。
| 等級 | 作業類型 | 操作員 |
|---|---|---|
| 1 | 主要 | . , [] () |
| 2 | 單一運算 | ! not |
| 3 | 乘法 | * / % |
| 4 | 添加劑 | + - |
| 5 | 訂購 | < > <= >= |
| 6 | 平等 | = != <> |
| 7 | 條件式 AND | and && |
| 8 | 條件式 OR | or || |
當表達式中的兩個運算符具有相同的運算符優先順序等級時,會根據其在查詢中的位置,從左至右評估它們。 例如, x+y-z 會評估為 (x+y)-z。
您可以使用括號來覆寫查詢中運算子的已定義優先順序。 括弧內的所有項目都會先評估為產生單一結果,然後再讓括弧以外的任何運算元使用該結果。 例如,x+y*z乘yz以 ,然後加入 x,但(x+y)*z加入 x ,y然後將結果乘以 z。