Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’exécution de l’un des opérateurs Entity SQL suivants implique la comparaison des instances de type :
Comparaison explicite
Opérations d’égalité :
=
!=
Opérations de classement :
<
<=
>
>=
Opérations de nullabilité :
EST NUL
N’EST PAS NULL
Distinction explicite
Distinction d’égalité :
DISTINCTIF
REGROUPER PAR
Distinction de classement :
- ORDONNER PAR
Distinction implicite
Définir des opérations et des prédicats (égalité) :
UNION
INTERSECT
EXCEPT
SET
CHEVAUCHEMENTS
Prédicats d’élément (égalité) :
- DANS
Combinaisons prises en charge
Le tableau suivant présente toutes les combinaisons prises en charge d’opérateurs de comparaison pour chaque type de type :
| Type | = != |
REGROUPER PAR DISTINCT |
UNION INTERSECT EXCEPT SET OVERLAPS |
IN |
<
<= > >= |
ORDER BY |
IS NULL N’EST PAS NULL |
|---|---|---|---|---|---|---|---|
| Type d’entité | Ref1 | Toutes les propriétés2 | Toutes les propriétés2 | Toutes les propriétés2 | Lever3 | Lever3 | Ref1 |
| Type complexe | Lever3 | Lever3 | Lever3 | Lever3 | Lever3 | Lever3 | Lever3 |
| Ligne | Toutes les propriétés4 | Toutes les propriétés4 | Toutes les propriétés4 | Lever3 | Lever3 | Toutes les propriétés4 | Lever3 |
| Type primitif | Spécifique au fournisseur | Spécifique au fournisseur | Spécifique au fournisseur | Spécifique au fournisseur | Spécifique au fournisseur | Spécifique au fournisseur | Spécifique au fournisseur |
| Multiset | Lever3 | Lever3 | Lever3 | Lever3 | Lever3 | Lever3 | Lever3 |
| Ref | Oui5 | Oui5 | Oui5 | Oui5 | Jeter | Jeter | Oui5 |
| Association type |
Lever3 | Jeter | Jeter | Jeter | Lever3 | Lever3 | Lever3 |
1Les références des instances de type d’entité données sont implicitement comparées, comme illustré dans l’exemple suivant :
SELECT p1, p2
FROM AdventureWorksEntities.Product AS p1
JOIN AdventureWorksEntities.Product AS p2
WHERE p1 != p2 OR p1 IS NULL
Une instance d’entité ne peut pas être comparée à une référence explicite. Si cette tentative est effectuée, une exception est levée. Par exemple, la requête suivante lève une exception :
SELECT p1, p2
FROM AdventureWorksEntities.Product AS p1
JOIN AdventureWorksEntities.Product AS p2
WHERE p1 != REF(p2)
deuxLes propriétés de types complexes sont aplatissements avant d’être envoyées au magasin, de sorte qu’elles deviennent comparables (tant que toutes leurs propriétés sont comparables). Voir aussi 4.
3Le runtime Entity Framework détecte le cas non pris en charge et lève une exception significative sans impliquer le fournisseur/magasin.
4Une tentative est effectuée pour comparer toutes les propriétés. S’il existe une propriété qui est d’un type non comparable, tel que du texte, du ntext ou de l’image, une exception de serveur peut être levée.
5Tous les éléments individuels des références sont comparés (cela inclut le nom du jeu d’entités et toutes les propriétés clés du type d’entité).