Udostępnij za pośrednictwem


Semantyka porównania (Entity SQL)

Wykonanie dowolnego z następujących operatorów Entity SQL obejmuje porównanie wystąpień typu:

Porównanie jawne

Operacje równości:

  • =

  • !=

Operacje porządkowania:

  • <

  • <=

  • >

  • >=

Operacje dopuszczania wartości null:

  • IS NULL

  • NIE MA WARTOŚCI NULL

Jawne rozróżnienie

Rozróżnienie równości:

  • ODRĘBNE

  • GROUP BY

Rozróżnienie porządkowania:

  • ORDER BY

Rozróżnienie niejawne

Ustawianie operacji i predykatów (równość):

  • UNION

  • INTERSECT

  • EXCEPT

  • SET

  • OVERLAPS

Predykaty elementów (równość):

  • IN

Obsługiwane kombinacje

W poniższej tabeli przedstawiono wszystkie obsługiwane kombinacje operatorów porównania dla każdego typu:

Type =

!=
GROUP BY

ODRĘBNE
UNION

INTERSECT

EXCEPT

SET

OVERLAPS
IN <<=

>>=
ORDER BY IS NULL

NIE MA WARTOŚCI NULL
Typ encji Odwołanie1 Wszystkie właściwości2 Wszystkie właściwości2 Wszystkie właściwości2 Rzut3 Rzut3 Odwołanie1
Typ złożony Rzut3 Rzut3 Rzut3 Rzut3 Rzut3 Rzut3 Rzut3
Wiersz Wszystkie właściwości4 Wszystkie właściwości4 Wszystkie właściwości4 Rzut3 Rzut3 Wszystkie właściwości4 Rzut3
Typ pierwotny Specyficzne dla dostawcy Specyficzne dla dostawcy Specyficzne dla dostawcy Specyficzne dla dostawcy Specyficzne dla dostawcy Specyficzne dla dostawcy Specyficzne dla dostawcy
Zestaw wielokrotny Rzut3 Rzut3 Rzut3 Rzut3 Rzut3 Rzut3 Rzut3
Ref Tak5 Tak5 Tak5 Tak5 Throw Throw Tak5
Skojarzenie

type
Rzut3 Throw Throw Throw Rzut3 Rzut3 Rzut3

1Odwołania do danego wystąpienia typu jednostki są niejawnie porównywane, jak pokazano w poniższym przykładzie:

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

Nie można porównać wystąpienia jednostki z jawnym odwołaniem. Jeśli zostanie podjęta taka próba, zostanie zgłoszony wyjątek. Na przykład następujące zapytanie zgłosi wyjątek:

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

2Właściwości typów złożonych są spłaszczone przed wysłaniem do sklepu, więc stają się porównywalne (o ile wszystkie ich właściwości są porównywalne). Zobacz również 4.

3Środowisko uruchomieniowe platformy Entity Framework wykrywa nieobsługiwany przypadek i zgłasza znaczący wyjątek bez angażowania dostawcy/sklepu.

4Podjęto próbę porównania wszystkich właściwości. Jeśli istnieje właściwość, która nie jest porównywalnym typem, takim jak tekst, ntext lub obraz, może zostać zgłoszony wyjątek serwera.

5Wszystkie poszczególne elementy odwołań są porównywane (obejmuje to nazwę zestawu jednostek i wszystkie właściwości klucza typu jednostki).

Zobacz też