共用方式為


比較語意 (Entity SQL)

執行下列任一 Entity SQL 運算子牽涉到類型實例的比較:

明確比較

相等運算:

  • =

  • !=

排序作業:

  • <

  • <=

  • >

  • >=

Nullability 作業:

  • 為空

  • IS NOT NULL

明確區分

相等區別:

  • 獨特的

  • GROUP BY

排序區別:

  • 排序依據

隱含區別

設定作業與述詞 (相等):

  • 聯盟

  • 交集

  • 除外

  • 設定

  • 重疊

項目述詞 (相等):

  • 在內

支援的組合

下表顯示每種類型之比較運算子的所有支援組合:

型別 =

!=
GROUP BY

獨特
聯盟

相交

EXCEPT

設定

重疊
IN < <=

> >=
根據 排序 IS NULL

IS NOT NULL
實體類型 Ref1 所有屬性2 所有屬性2 所有屬性2 回 3 回 3 Ref1
複雜類型 回 3 回 3 回 3 回 3 回 3 回 3 回 3
資料列 所有屬性4 所有屬性4 所有屬性4 回 3 回 3 所有屬性4 回 3
基本型別 提供者特定 提供者特定 提供者特定 提供者特定 提供者特定 提供者特定 提供者特定
Multiset 回 3 回 3 回 3 回 3 回 3 回 3 回 3
參考 5 5 5 5 5
協會

型別
回 3 回 3 回 3 回 3

1指定實體類型實例的參考會隱含比較,如下列範例所示:

SELECT p1, p2
FROM AdventureWorksEntities.Product AS p1
     JOIN AdventureWorksEntities.Product AS p2
WHERE p1 != p2 OR p1 IS NULL

實體實例無法與明確參考進行比較。 如果嘗試這樣做,則會擲回例外狀況。 例如,下列查詢會擲回例外狀況:

SELECT p1, p2
FROM AdventureWorksEntities.Product AS p1
     JOIN AdventureWorksEntities.Product AS p2
WHERE p1 != REF(p2)

阿拉伯數位複雜類型的屬性會在傳送至存放區之前扁平化,因此它們會變成可比性(只要其所有屬性都是可比較的)。 另請參閱 4。

3Entity Framework 運行時間會偵測不支援的案例,並擲回有意義的例外狀況,而不會吸引提供者/存放區。

4嘗試比較所有屬性。 如果有非可比較類型的屬性,例如 text、ntext 或 image,可能會擲回伺服器例外狀況。

5會比較參考的所有個別元素(這包括實體集名稱和實體類型的所有索引鍵屬性)。

另請參閱