Condividi tramite


IS [NOT] OF (Entity SQL)

Determina se il tipo di un'espressione è del tipo specificato o di uno dei sottotipi.

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

Argomenti

  • expression
    Qualsiasi espressione di query valida di cui determinare il tipo.
  • NOT
    Nega il risultato EDM.Boolean di IS OF.
  • ONLY
    Specifica che IS OF restituisce true solo se expression è di tipo type e non di uno dei sottotipi.
  • type
    Tipo rispetto al quale testare expression. Il tipo deve essere qualificato dallo spazio dei nomi.

Valore restituito

true se expression è di tipo T e T è un tipo di base o un tipo derivato di type; null se expression è null in fase di runtime; in caso contrario, false.

Osservazioni

Le espressioniexpression IS NOT OF (type)eexpression IS NOT OF (ONLY type)sono sintatticamente equivalenti aNOT (expression IS OF (type))e NOT (expression IS OF (ONLY type)), rispettivamente.

Nella tabella seguente viene illustrato il comportamento dell'operatore IS OF su alcuni modelli tipici e specifici. Tutte le eccezioni vengono generate sul lato client prima che il provider venga richiamato:

Modello Comportamento

null IS OF (EntityType)

Genera un'eccezione

null IS OF (ComplexType)

Genera un'eccezione

null IS OF (RowType)

Genera un'eccezione

TREAT (null AS EntityType) IS OF (EntityType)

Restituisce DBNull

TREAT (null AS ComplexType) IS OF (ComplexType)

Genera un'eccezione

TREAT (null AS RowType) IS OF (RowType)

Genera un'eccezione

EntityType IS OF (EntityType)

Restituisce true/false

ComplexType IS OF (ComplexType)

Genera un'eccezione

RowType IS OF (RowType)

Genera un'eccezione

Esempio

Nella query Entity SQL seguente viene utilizzato l'operatore IS OF per determinare il tipo di un'espressione di query, quindi viene utilizzato l'operatore TREAT per convertire un oggetto del tipo Course in una raccolta di oggetti del tipo OnsiteCourse. La query è basata sul Modello School.

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

Vedere anche

Concetti

Riferimenti a Entity SQL