ISOF (Entity SQL)
Bepaalt of het type expressie van het opgegeven type of een van de subtypen is.
Syntaxis
expression IS [ NOT ] OF ( [ ONLY ] type )
Argumenten
expression
Elke geldige query-expressie om het type te bepalen.
DE EDM wordt niet ontkend. Booleaans resultaat van IS OF.
ALLEEN geeft aan dat IS VAN retourneert true
alleen als expression
het van het type type
is en niet van een van de subtypen.
type
Het type dat moet worden getest expression
. Het type moet naamruimte-gekwalificeerd zijn.
Retourwaarde
true
als expression
van het type T en T een basistype is, of een afgeleid type type
; null als expression
het null is tijdens runtime; anders false
.
Opmerkingen
De expressies expression IS NOT OF (type)
en expression IS NOT OF (ONLY type)
zijn syntactisch gelijk aan NOT (expression IS OF (type))
respectievelijk en NOT (expression IS OF (ONLY type))
, respectievelijk.
In de volgende tabel ziet u het gedrag van IS OF
de operator op een aantal typische en hoekpatronen. Alle uitzonderingen worden aan de clientzijde gegenereerd voordat de provider wordt aangeroepen:
Patroon | Gedrag |
---|---|
null IS OF (EntityType) | Gooit |
null IS OF (ComplexType) | Gooit |
null IS OF (RowType) | Gooit |
TREAT (null AS EntityType) IS VAN (EntityType) | Hiermee wordt DBNull geretourneerd |
TREAT (null AS ComplexType) IS VAN (ComplexType) | Gooit |
TREAT (null AS RowType) IS VAN (RowType) | Gooit |
EntityType IS VAN (EntityType) | Retourneert waar/onwaar |
ComplexType IS VAN (ComplexType) | Gooit |
RowType IS OF (RowType) | Gooit |
Opmerking
De volgende Entiteit SQL-query maakt gebruik van de IS OF-operator om het type query-expressie te bepalen en gebruikt vervolgens de operator TREAT om een object van het type Cursus te converteren naar een verzameling objecten van het type OnsiteCourse. De query is gebaseerd op het schoolmodel.
[!code-sql[DP EntityServices Concepts#TREAT_ISOF]~/samples/snippets/tsql/VS_Snippets_Data/dp entityservices concepts/tsql/entitysql.sql#treat_isof)]