Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Belirli bir temel türdeki bir nesneyi, belirtilen türetilmiş türün nesnesi olarak işler.
Sözdizimi
TREAT ( expression as type)
Tartışmalar
expression Bir varlık döndüren geçerli sorgu ifadeleri.
Uyarı
Belirtilen ifadenin türü, belirtilen veri türünün bir alt türü veya veri türü ifade türünün alt türü olmalıdır.
type Varlık türü. Türün ad alanı tarafından nitelenmiş olması gerekir.
Uyarı
Belirtilen ifade, belirtilen veri türünün bir alt türü veya veri türü ifadenin alt türü olmalıdır.
Dönüş Değeri
Belirtilen veri türünün değeri.
Açıklamalar
TREAT, ilgili sınıflar arasında yukarı yayın gerçekleştirmek için kullanılır. Örneğin, ve p Persontüründeyse PersonEmployee, TREAT(p AS NamespaceName.Employee) genel Person bir örneği öğesine Employeeyayınlar; diğer bir ifadeyle p Employeeolarak işlem yapmanızı sağlar.
TREAT, aşağıdaki gibi bir sorgu yapabileceğiniz devralma senaryolarında kullanılır:
SELECT TREAT(p AS NamespaceName.Employee)
FROM ContainerName.Person AS p
WHERE p IS OF (NamespaceName.Employee)
Bu sorgu varlıkları türüne yukarı yayınlar PersonEmployee . p değeri gerçekten türünde Employeedeğilse, ifade değerini nullverir.
Uyarı
Belirtilen ifade Employee , belirtilen veri türünün bir alt türü Personveya veri türü ifadenin alt türü olmalıdır. Aksi takdirde, ifade bir derleme zamanı hatasına neden olur.
Aşağıdaki tabloda, bazı tipik desenler ve bazı daha az yaygın desenler üzerinde davranış gösterilmektedir. Sağlayıcı çağrılmadan önce istemci tarafından tüm özel durumlar oluşturulur:
| Desen | Davranış |
|---|---|
TREAT (null AS EntityType) |
DbNull döndürür. |
TREAT (null AS ComplexType) |
Özel durum oluşturur. |
TREAT (null AS RowType) |
Özel durum oluşturur/ |
TREAT (EntityType AS EntityType) |
veya nulldöndürürEntityType. |
TREAT (ComplexType AS ComplexType) |
Özel durum oluşturur. |
TREAT (RowType AS RowType) |
Özel durum oluşturur. |
Örnek
Aşağıdaki Entity SQL sorgusu, Course türünde bir nesneyi OnsiteCourse türünde bir nesne koleksiyonuna dönüştürmek için TREAT işlecini kullanır. Sorgu , Okul Modeli'ni temel alır.
SELECT VALUE TREAT (course AS SchoolModel.OnsiteCourse)
FROM SchoolEntities.Courses AS course
WHERE course IS OF( SchoolModel.OnsiteCourse)