Partager via


IS [NOT] OF (Entity SQL)

Détermine si le type d'une expression appartient au type spécifié ou à l'un de ses sous-types.

expression IS [ NOT ] OF ( [ ONLY ] type )

Arguments

  • expression
    Toute expression de requête valide pour en déterminer le type.
  • NOT
    Inverse le résultat EDM.Boolean de l'opérateur IS OF.
  • ONLY
    Indique que l'opérateur IS OF ne retourne true que si expression appartient au type type et non à l'un de ses sous-types.
  • type
    Type sur lequel tester expression. Le type doit être qualifié par un espace de noms.

Valeur de retour

true si expression est de type T, qui est soit un type de base, soit un type dérivé de type ; null si expression a la valeur null au moment de l'exécution ; sinon, false.

Notes

Les expressionsexpression IS NOT OF (type)etexpression IS NOT OF (ONLY type)sont du point de vue syntaxique équivalentes àNOT (expression IS OF (type))et NOT (expression IS OF (ONLY type)), respectivement.

Le tableau suivant indique le comportement de l'opérateur IS OF sur certains modèles courants et d'autres plus singuliers. Toutes les exceptions sont levées côté client avant que le fournisseur soit appelé :

Modèle Comportement

null IS OF (EntityType)

Exception

null IS OF (ComplexType)

Exception

null IS OF (RowType)

Exception

TREAT (null AS EntityType) IS OF (EntityType)

Retourne DBNull

TREAT (null AS ComplexType) IS OF (ComplexType)

Exception

TREAT (null AS RowType) IS OF (RowType)

Exception

EntityType IS OF (EntityType)

Retourne true/false

ComplexType IS OF (ComplexType)

Exception

RowType IS OF (RowType)

Exception

Exemple

La requête Entity SQL ci-dessous utilise l'opérateur IS OF pour déterminer le type d'une expression de requête, puis utilise l'opérateur TREAT pour convertir un objet du type Course en collection d'objets du type OnsiteCourse. La requête est basée sur le Modèle School.

SELECT VALUE TREAT (course as SchoolModel.OnsiteCourse) 
   FROM SchoolEntities.Courses as course
   WHERE course IS OF( SchoolModel.OnsiteCourse)

Voir aussi

Concepts

Référence Entity SQL