Aracılığıyla paylaş


ISOF (Entity SQL)

İfade türünün belirtilen türde mi yoksa alt türlerinden birinde mi olduğunu belirler.

Sözdizimi

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

Tartışmalar

expression Türünü belirlemek için geçerli bir sorgu ifadesi.

DEĞİl, EDM'yi olumsuzlar. IS OF değerinin Boole sonucu.

YALNIZCA, IS OF'nin yalnızca true türündeyse expression ve alt türlerinden herhangi biri değilse döndürdüğünü type belirtir.

type Sınanacak expression tür. Türün ad alanı nitelenmiş olması gerekir.

Dönüş Değeri

true T ve T türündeyse expression bir temel tür veya türetilmiş bir tür type; çalışma zamanında null ise expression null; değilse, false.

Açıklamalar

ve expression IS NOT OF (type) ifadeleri expression IS NOT OF (ONLY type) sırasıyla ve NOT (expression IS OF (type))ile NOT (expression IS OF (ONLY type)) aynı olur.

Aşağıdaki tabloda işlecin bazı tipik ve köşe desenleri IS OF üzerindeki davranışı gösterilmektedir. Sağlayıcı çağrılmadan önce istemci tarafından tüm özel durumlar oluşturulur:

Desen Davranış
null IS OF (EntityType) Throws
null IS OF (ComplexType) Throws
null IS OF (RowType) Throws
TREAT (null AS EntityType) IS OF (EntityType) DBNull döndürür
TREAT (null AS ComplexType) IS OF (ComplexType) Throws
TREAT (null AS RowType) IS OF (RowType) Throws
EntityType IS OF (EntityType) True/false döndürür
ComplexType IS OF (ComplexType) Throws
RowType IS OF (RowType) Throws

Örnek

Aşağıdaki Entity SQL sorgusu, sorgu ifadesinin türünü belirlemek için IS OF işlecini kullanır ve ardından Treat işlecini kullanarak Course türünde bir nesneyi OnsiteCourse türünde bir nesne koleksiyonuna dönüştürür. Sorgu , Okul Modeli'ni temel alır.

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

Ayrıca bakınız