다음을 통해 공유


IS [NOT] OF(Entity SQL)

식의 형식이 지정된 형식 또는 그 하위 형식인지 여부를 결정합니다.

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

인수

  • expression
    형식을 결정할 수 있는 모든 유효한 쿼리 식입니다.
  • NOT
    IS OF의 Boolean 결과를 무효화합니다.
  • ONLY
    expression이 type 형식이며 그 하위 형식이 아닌 경우에만 IS OF가 true를 반환하도록 지정합니다.
  • type
    expression을 테스트할 형식입니다. 형식은 네임스페이스로 한정되어야 합니다.

반환 값

expression이 T 형식이며 T가 기본 형식이거나 type의 파생 형식인 경우 true이고, expression이 런타임에 null인 경우 null이며, 그 이외의 경우 false입니다.

설명

expression IS NOT OF (type) expression IS NOT OF (ONLY type)식은 구문상 각각NOT (expression IS OF (type)) NOT (expression IS OF (ONLY type))와 동등합니다.

다음 표에서는 일반 패턴 및 비교적 특수한 패턴에 대한 IS OF 연산자의 동작을 보여 줍니다. 공급자 호출 이전에 모든 예외가 클라이언트 측에서 throw됩니다.

패턴 동작

null IS OF(EntityType)

throw

null IS OF(ComplexType)

throw

null IS OF(RowType)

throw

TREAT(null AS EntityType) IS OF(EntityType)

DBNull 반환

TREAT(null AS ComplexType) IS OF(ComplexType)

throw

TREAT(null AS RowType) IS OF(RowType)

throw

EntityType IS OF(EntityType)

true/false 반환

ComplexType IS OF(ComplexType)

throw

RowType IS OF(RowType)

throw

예제

다음 Entity SQL 쿼리는 IS OF 연산자를 사용하여 쿼리 식의 형식을 결정한 다음 TREAT 연산자를 사용하여 People 형식의 개체를 Student 형식 개체의 컬렉션으로 변환합니다. 쿼리는 School 엔터티 데이터 모델을 기반으로 합니다. 이 모델 생성 방법에 대한 자세한 내용은 School 엔터티 데이터 모델 생성(Entity Framework 퀵 스타트)을 참조하십시오.

SELECT VALUE TREAT (people as SchoolDataLib.Student) 
    FROM SchoolDataEntities.People as people 
    WHERE people IS OF( SchoolDataLib.Student)

이 예제의 결과는 다음과 같습니다.

Chow
Haas
Hamilton
Adams
Paschke
Abrus
Hance

참고 항목

개념

형식 연산자(Entity SQL)
Entity SQL 참조