Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Avgör om typen av uttryck är av den angivna typen eller någon av dess undertyper.
Syntax
expression IS [ NOT ] OF ( [ ONLY ] type )
Argumentpunkter
expression Ett giltigt frågeuttryck för att fastställa typen av.
Inte negerar EDM. Booleskt resultat av IS OF.
ENDAST Anger att IS OF endast returnerar true om expression är av typen type och inte någon av dess undertyper.
type Den typ som ska testas expression mot. Typen måste vara namnområdeskvalificerad.
Returvärde
trueom expression är av typen T och T antingen är en bastyp eller en härledd typ av type; null om expression är null vid körning, annars . false
Anmärkningar
Uttrycken expression IS NOT OF (type) och expression IS NOT OF (ONLY type) är syntaktiskt likvärdiga med NOT (expression IS OF (type)) respektive NOT (expression IS OF (ONLY type)).
I följande tabell visas beteendet för IS OF operatorn över vissa typiska mönster och hörnmönster. Alla undantag genereras från klientsidan innan providern anropas:
| Mönster | Beteende |
|---|---|
| null IS OF (EntityType) | Throws |
| null IS OF (ComplexType) | Throws |
| null IS OF (RowType) | Throws |
| TREAT (null AS EntityType) IS OF (EntityType) | Returnerar DBNull |
| TREAT (null AS ComplexType) IS OF (ComplexType) | Throws |
| TREAT (null SOM RowType) ÄR AV (RowType) | Throws |
| EntityType IS OF (EntityType) | Returnerar sant/falskt |
| ComplexType IS OF (ComplexType) | Throws |
| RowType ÄR AV (RowType) | Throws |
Exempel
Följande entitets-SQL-fråga använder IS OF-operatorn för att fastställa typen av ett frågeuttryck och använder sedan TREAT-operatorn för att konvertera ett objekt av typen Kurs till en samling objekt av typen OnsiteCourse. Frågan baseras på skolmodellen.
[!code-sql[DP EntityServices Concepts#TREAT_ISOF]~/samples/snippets/tsql/VS_Snippets_Data/dp entityservices concepts/tsql/entitysql.sql#treat_isof)]