Compartilhar via


ISOF (Entity SQL)

Determina se o tipo de uma expressão é do tipo especificado ou 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 o resultado EDM.Boolean de IS OF.

ONLY Especifica que IS OF retorna true somente se expression é do tipo type e não qualquer um de seus subtipos.

type O tipo contra o qual testar expression. O tipo URL deve ser qualificada.

Valor Retornado

true se expression é do tipo T e T é um tipo base, ou um tipo derivado de type; nulo se expression for nulo no runtime; caso contrário, false.

Comentários

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 operador de IS OF sobre alguns padrões e típicos do canto. Todas as exceções são geradas do lado do cliente antes que o provedor obtenha chamado:

Padrão Comportamento
o zero ESTÁ DE (EntityType) Gera
o zero ESTÁ DE (ComplexType) Gera
o zero ESTÁ DE (RowType) Gera
O DELEITE (zero) COMO EntityType ESTÁ DE (EntityType) Retorna DBNull
O DELEITE (zero) COMO ComplexType ESTÁ DE (ComplexType) Gera
O DELEITE (zero) COMO RowType ESTÁ DE (RowType) Gera
EntityType ESTÁ DE (EntityType) Retorna retificam/falso
ComplexType ESTÁ DE (ComplexType) Gera
RowType ESTÁ DE (RowType) Gera

Exemplo

A consulta do Entity SQL a seguir usa o operador IS OF para determinar o tipo de 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 é baseada no Modelo de Escola.

[!code-sql[DP EntityServices Concepts#TREAT_ISOF]~/samples/snippets/tsql/VS_Snippets_Data/dp entityservices concepts/tsql/entitysql.sql#treat_isof)]

Confira também