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.
Varlıklar arasında kurulan ilişkide gezinilir.
Sözdizimi
navigate(instance-expression, [relationship-type], [to-end [, from-end] ])
Tartışmalar
instance-expression Bir varlığın örneği.
relationship-type Kavramsal şema tanım dili (CSDL) dosyasından ilişkinin tür adı.
relationship-type ad alanı> olarak <nitelenmiş.<ilişki türü adı>.
to İlişkinin sonu.
from İlişkinin başlangıcı.
Dönüş Değeri
Bitiş değerinin kardinalitesi 1 ise, dönüş değeri olur Ref<T>. Bitiş değerinin kardinalitesi n ise, dönüş değeri olur Collection<Ref<T>>.
Açıklamalar
İlişkiler, Varlık Veri Modeli'ndeki (EDM) birinci sınıf yapılardır. İki veya daha fazla varlık türü arasında ilişkiler kurulabilir ve kullanıcılar bir uçtan (varlık) diğerine ilişkinin üzerinde gezinebilir.
from ve to ilişki içinde ad çözümlemesinde belirsizlik olmadığında koşullu olarak isteğe bağlıdır.
NAVIGATE, O ve C alanında geçerlidir.
Gezinti yapısının genel biçimi aşağıdaki gibidir:
navigate(instance-expression, relationship-type, [ to-end [, from-end ] ] )
Örneğin:
Select o.Id, navigate(o, OrderCustomer, Customer, Order)
From LOB.Orders as o
Burada OrderCustomer , ve Müşteri ve Sipariş, ilişkinin to-end (müşteri) ve from-end (sipariş) öğesidirrelationship. OrderCustomer bir n:1 ilişkisiyse, gezinme ifadesinin sonuç türü Baş<Müşteri'dir>.
Bu ifadenin daha basit biçimi aşağıdaki gibidir:
Select o.Id, navigate(o, OrderCustomer)
From LOB.Orders as o
Benzer şekilde, aşağıdaki formdaki bir sorguda navigate ifadesi bir Koleksiyon<Başvuru<Sırası>> oluşturur.
Select c.Id, navigate(c, OrderCustomer, Order, Customer)
From LOB.Customers as c
Örnek-ifade bir varlık/başvuru türü olmalıdır.
Örnek
Aşağıdaki Entity SQL sorgusu, Address ve SalesOrderHeader varlık türleri arasında kurulan ilişkide gezinmek için NAVIGATE işlecini kullanır. Sorgu AdventureWorks Satış Modeli'ni temel alır. Bu sorguyu derlemek ve çalıştırmak için şu adımları izleyin:
Nasıl yapılır: StructuralType Sonuçları Döndüren Bir Sorgu Yürütme bölümündeki yordamı izleyin.
Aşağıdaki sorguyu yöntemine
ExecuteStructuralTypeQuerybağımsız değişken olarak geçirin:
SELECT address.AddressID, (SELECT VALUE DEREF(soh)
FROM NAVIGATE(address,
AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID)
AS soh)
FROM AdventureWorksEntities.Addresses AS address