Összehasonlító szemantika (entity SQL)

Az alábbi Entity SQL-operátorok bármelyikének végrehajtása a típuspéldányok összehasonlításával jár:

Explicit összehasonlítás

Egyenlőségi műveletek:

  • =

  • !=

Rendelési műveletek:

  • <

  • <=

  • >

  • >=

Nullability operations:

  • NULLÉRTÉKŰ

  • NEM NULL ÉRTÉKŰ

Explicit megkülönböztetés

Egyenlőségi megkülönböztetés:

  • KÜLÖNBÖZŐ

  • CSOPORTOSÍTÁS ALAPJÁN

Sorrendi megkülönböztetés:

  • Rendezés szerint

Implicit megkülönböztetés

Műveletek és predikátumok beállítása (egyenlőség):

  • UNIÓ

  • KERESZTEZI

  • KIVÉVE

  • BEÁLLÍTÁS

  • ÁTFEDÉSEK

Elem-predikátumok (egyenlőség):

  • IN

Támogatott kombinációk

Az alábbi táblázat az összehasonlító operátorok támogatott kombinációit mutatja be az egyes típustípusokhoz:

Típus =

!=
CSOPORTOSÍTÁS SZEMPONTJA

KÜLÖNBÖZŐ
UNÓ

METSZ

EXCEPT

BEÁLLÍTÁS

ÁTFEDÉSEK
IN < <=

> >=
RENDELÉS SZERINT NULL ÉRTÉKŰ

NEM NULL ÉRTÉKŰ
Entitás típusa 1. hiv. Minden tulajdonság2 Minden tulajdonság2 Minden tulajdonság2 Dobás3 Dobás3 1. hiv.
Összetett típus Dobás3 Dobás3 Dobás3 Dobás3 Dobás3 Dobás3 Dobás3
Sor Minden tulajdonság4 Minden tulajdonság4 Minden tulajdonság4 Dobás3 Dobás3 Minden tulajdonság4 Dobás3
Primitív típus Szolgáltatóspecifikus Szolgáltatóspecifikus Szolgáltatóspecifikus Szolgáltatóspecifikus Szolgáltatóspecifikus Szolgáltatóspecifikus Szolgáltatóspecifikus
Többhalmazos Dobás3 Dobás3 Dobás3 Dobás3 Dobás3 Dobás3 Dobás3
Ref Igen5 Igen5 Igen5 Igen5 Vet Vet Igen5
Egyesület

típus
Dobás3 Vet Vet Vet Dobás3 Dobás3 Dobás3

1Az adott entitástípus-példányok hivatkozásait implicit módon hasonlítjuk össze, ahogyan az alábbi példában is látható:

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

Egy entitáspéldány nem hasonlítható össze explicit hivatkozással. Ha ezt megkísérlik, a rendszer kivételt jelez. A következő lekérdezés például kivételt fog eredményezni:

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

2Az összetett típusok tulajdonságai összesimulnak, mielőtt elküldené őket az áruházba, így összehasonlíthatók lesznek (mindaddig, amíg minden tulajdonságuk összehasonlítható). Lásd még a 4- et.

3Az Entity Framework futtatókörnyezete észleli a nem támogatott esetet, és értelmes kivételt jelez a szolgáltató/tároló bevonása nélkül.

4A rendszer kísérletet tesz az összes tulajdonság összehasonlítására. Ha van olyan tulajdonság, amely nem összehasonlítható típusú, például szöveg, ntext vagy kép, kiszolgálói kivételt jelezhet.

5A hivatkozások minden egyes elemét összehasonlítja a rendszer (ez magában foglalja az entitáskészlet nevét és az entitástípus összes kulcstulajdonságát).

Lásd még