Udostępnij przez


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:

  • JEST NULL

  • NIE MA WARTOŚCI NULL

Jawne rozróżnienie

Rozróżnienie równości:

  • ODMIENNY

  • GRUPUJ WEDŁUG

Rozróżnienie porządkowania:

  • SORTUJ WEDŁUG

Rozróżnienie niejawne

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

  • Unia

  • PRZECIĘCIE

  • Z WYJĄTKIEM

  • ZESTAW

  • Zachodzenie

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:

Typ =

!=
GRUPUJ WEDŁUG

DISTINCT
UNIA

INTERSECT

EXCEPT

ZBIÓR

ZACHODZI
IN < <=

> >=
ORDER BY IS NULL

NIE MA WARTOŚCI NULL
Typ jednostki 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
Szereg 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
Wiele zestawów Rzut3 Rzut3 Rzut3 Rzut3 Rzut3 Rzut3 Rzut3
Ref Tak5 Tak5 Tak5 Tak5 Rzucać Rzucać Tak5
Stowarzyszenie

typ
Rzut3 Rzucać Rzucać Rzucać 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)

cyfra arabskaWł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 także