Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Determina se o tipo de uma expressão é do tipo especificado ou de um de seus subtipos.
Sintaxe
expression IS [ NOT ] OF ( [ ONLY ] type )
Argumentos
expression Qualquer expressão de consulta válida para determinar o tipo de.
NÃO nega a EDM. Resultado booleano de IS OF.
ONLY Especifica que IS OF retorna true somente se expression for do tipo type e não qualquer um de seus subtipos.
type O tipo contra o qual testar expression . O tipo deve ser qualificado para namespace.
Valor de retorno
true se expression é do tipo T e T é ou um tipo base, ou um tipo derivado de type; nulo se expression for nulo em tempo de execução; caso contrário, false.
Observações
As expressões expression IS NOT OF (type) e expression IS NOT OF (ONLY type) são sintaticamente equivalentes a NOT (expression IS OF (type)) e NOT (expression IS OF (ONLY type)), respectivamente.
A tabela a seguir mostra o comportamento do IS OF operador em alguns padrões típicos e de canto. Todas as exceções são lançadas do lado do cliente antes que o provedor seja invocado:
| Padrão | Comportamento |
|---|---|
| null IS OF (EntityType) | Throws |
| nulo É DE (ComplexType) | Throws |
| null IS OF (RowType) | Throws |
| TREAT (null AS EntityType) IS OF (EntityType) | Retorna DBNull |
| TREAT (null AS ComplexType) IS OF (ComplexType) | Throws |
| TREAT (null AS RowType) É OF (RowType) | Throws |
| EntityType IS OF (EntityType) | Devolve verdadeiro/falso |
| ComplexType IS OF (ComplexType) | Throws |
| RowType IS OF (RowType) | Throws |
Exemplo
A consulta Entity SQL a seguir usa o operador IS OF para determinar o tipo de uma expressão de consulta e, em seguida, usa o operador TREAT para converter um objeto do tipo Course em uma coleção de objetos do tipo OnsiteCourse. A consulta baseia-se no Modelo de Escola.
[!code-sql[Conceitos de DP EntityServices#TREAT_ISOF]~/samples/snippets/tsql/VS_Snippets_Data/dp entityservices concepts/tsql/entitysql.sql#treat_isof)]