Vergelijkings-Semantiek (Entiteit SQL)
Het uitvoeren van een van de volgende Entity SQL-operators omvat een vergelijking van het type exemplaren:
Expliciete vergelijking
Gelijkheidsbewerkingen:
=
!=
Bestelbewerkingen:
<
<=
>
>=
Nullability-bewerkingen:
IS NULL
IS NOT NULL
Expliciet onderscheid
Gelijkheidsscheiding:
VERSCHILLENDE
GROUP BY
Onderscheid van ordenen:
- ORDER BY
Impliciet onderscheid
Bewerkingen en predicaten instellen (gelijkheid):
UNION
INTERSECT
BEHALVE
SET
OVERLAPT
Itempredicaten (gelijkheid):
- IN
Ondersteunde combinaties
In de volgende tabel ziet u alle ondersteunde combinaties van vergelijkingsoperatoren voor elk type:
Type | = != |
GROEPEREN OP VERSCHILLENDE |
UNIE SNIJDEN BEHALVE SET OVERLAPT |
INCH | <<= >>= |
ORDER BY | IS NULL IS NIET NULL |
---|---|---|---|---|---|---|---|
Entiteitstype | Verw1 | Alle eigenschappen2 | Alle eigenschappen2 | Alle eigenschappen2 | Gooi3 | Gooi3 | Verw1 |
Complex type | Gooi3 | Gooi3 | Gooi3 | Gooi3 | Gooi3 | Gooi3 | Gooi3 |
Rij | Alle eigenschappen4 | Alle eigenschappen4 | Alle eigenschappen4 | Gooi3 | Gooi3 | Alle eigenschappen4 | Gooi3 |
Primitief type | Providerspecifiek | Providerspecifiek | Providerspecifiek | Providerspecifiek | Providerspecifiek | Providerspecifiek | Providerspecifiek |
Multiset | Gooi3 | Gooi3 | Gooi3 | Gooi3 | Gooi3 | Gooi3 | Gooi3 |
Ref | Ja5 | Ja5 | Ja5 | Ja5 | Gooien | Gooien | Ja5 |
Koppeling type |
Gooi3 | Gooien | Gooien | Gooien | Gooi3 | Gooi3 | Gooi3 |
1De verwijzingen van de instanties van het opgegeven entiteitstype worden impliciet vergeleken, zoals wordt weergegeven in het volgende voorbeeld:
SELECT p1, p2
FROM AdventureWorksEntities.Product AS p1
JOIN AdventureWorksEntities.Product AS p2
WHERE p1 != p2 OR p1 IS NULL
Een entiteitsexemplaar kan niet worden vergeleken met een expliciete verwijzing. Als dit wordt geprobeerd, wordt er een uitzondering gegenereerd. Met de volgende query wordt bijvoorbeeld een uitzondering gegenereerd:
SELECT p1, p2
FROM AdventureWorksEntities.Product AS p1
JOIN AdventureWorksEntities.Product AS p2
WHERE p1 != REF(p2)
2Eigenschappen van complexe typen worden afgevlakt voordat ze naar de winkel worden verzonden, zodat ze vergelijkbaar zijn (zolang al hun eigenschappen vergelijkbaar zijn). Zie ook 4.
3De Entity Framework-runtime detecteert de niet-ondersteunde case en genereert een zinvolle uitzondering zonder de provider/store in te schakelen.
4Er wordt geprobeerd om alle eigenschappen te vergelijken. Als er een eigenschap van een niet-vergelijkbaar type is, zoals tekst, ntext of afbeelding, kan er een serveruitzondering optreden.
5Alle afzonderlijke elementen van de verwijzingen worden vergeleken (dit omvat de naam van de entiteitsset en alle sleuteleigenschappen van het entiteitstype).