Vergleichssemantik (Entity SQL)

Beim Ausführen aller folgenden Entity SQL -Operationen werden Typinstanzen verglichen:

Expliziter Vergleich

Gleichheitsoperationen:

  • =

  • !=

Sortieroperationen:

  • <

  • <=

  • >

  • >=

NULL-Zulässigkeitsoperationen:

  • IS NULL

  • IS NOT NULL

Explizite Unterscheidung

Gleichheitsunterscheidung:

  • DISTINCT

  • GROUP BY

Sortierunterscheidung:

  • ORDER BY

Implizite Unterscheidung

Mengenoperationen und Prädikate (Gleichheit):

  • UNION

  • INTERSECT

  • EXCEPT

  • SET

  • OVERLAPS

Elementprädikate (Gleichheit):

  • IN

Unterstützte Kombinationen

In der folgenden Tabelle werden alle unterstützten Kombinationen von Vergleichsoperatoren für jede Art von Typ angezeigt:

Typ

=

!=

GROUP BY

DISTINCT

UNION

INTERSECT

EXCEPT

SET

OVERLAPS

IN

< <=

> >=

ORDER BY

IS NULL

IS NOT NULL

Entitätstyp

Ref1

Alle Eigenschaften2

Alle Eigenschaften2

Alle Eigenschaften2

Auslösen3

Auslösen3

Ref1

Komplexer Typ

Auslösen3

Auslösen3

Auslösen3

Auslösen3

Auslösen3

Auslösen3

Auslösen3

Zeile

Alle Eigenschaften4

Alle Eigenschaften4

Alle Eigenschaften4

Auslösen3

Auslösen3

Alle Eigenschaften4

Auslösen3

Primitiver Typ

Anbieterspezifisch

Anbieterspezifisch

Anbieterspezifisch

Anbieterspezifisch

Anbieterspezifisch

Anbieterspezifisch

Anbieterspezifisch

Multiset

Auslösen3

Auslösen3

Auslösen3

Auslösen3

Auslösen3

Auslösen3

Auslösen3

Ref

Ja5

Ja5

Ja5

Ja5

Auslösen

Auslösen

Ja5

Zuordnung

Typ

Auslösen3

Auslösen

Auslösen

Auslösen

Auslösen3

Auslösen3

Auslösen3

1Die Verweise der angegebenen Entitätstypinstanzen werden implizit verglichen, wie im folgenden Beispiel gezeigt:

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

Eine Entitätsinstanz kann nicht mit einem expliziten Verweis verglichen werden. Eine Ausnahme wird ausgelöst, wenn dies versucht wird. Folgende Abfrage löst beispielsweise eine Ausnahme aus:

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

2Eigenschaften komplexer Typen werden vor dem Speichern vereinfacht, sodass sie vergleichbar werden (sofern alle ihre Eigenschaften vergleichbar sind). Siehe auch 4.

3Die Entity Framework-Laufzeit erkennt den nicht unterstützten Fall und löst eine angemessene Ausnahme aus, ohne den Anbieter/Speicher in Anspruch zu nehmen.

4Es wird versucht, alle Eigenschaften zu vergleichen. Wenn eine Eigenschaft einen nicht vergleichbaren Typ hat, wie beispielsweise text, ntext oder image, kann eine Serverausnahme ausgelöst werden.

5Alle Einzelelemente der Verweise werden verglichen (einschließlich des Namens der Entitätenmenge und aller Schlüsseleigenschaften des Entitätstyps).

Siehe auch

Konzepte

Übersicht über Entity SQL