다음을 통해 공유


ISOF(Entity SQL)

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

구문

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

인수

expression 형식을 결정할 수 있는 유효한 쿼리 식입니다.

IS OF의 EDM.Boolean 결과를 부정하지 않습니다.

expressiontype 형식이며 해당 하위 형식이 아닌 경우에만 IS OF가 true를 반환하도록 지정합니다.

typeexpression을 테스트할 형식입니다. 형식은 네임스페이스로 한정되어야 합니다.

Return Value

true이 T 형식이며 T가 기본 형식이거나 expression의 파생 형식인 경우 type이고, 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 연산자를 사용하여 Course 형식의 개체를 OnsiteCourse 형식의 개체 컬렉션으로 변환합니다. 쿼리는 School 모델을 기반으로 합니다.

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

참고 항목