Bagikan melalui


NAVIGATE (Entity SQL)

Menavigasi hubungan yang dibuat antara entitas.

Sintaks

navigate(instance-expression, [relationship-type], [to-end [, from-end] ])

Argumen

instance-expression Instans dari entitas.

relationship-type Nama jenis hubungan, dari file bahasa definisi skema konseptual (CSDL). relationship-type memenuhi syarat sebagai <namespace>.<nama jenis hubungan>.

to Akhir hubungan.

from Awal hubungan.

Tampilkan Nilai

Jika kardinalitas to end adalah 1, nilai kembaliannya adalah Ref<T>. Jika kardinalitas dari to end adalah n, nilai kembaliannya adalah Collection<Ref<T>>.

Keterangan

Hubungan adalah konstruksi kelas satu dalam Model Data Entitas (EDM). Relasi dapat dibuat antara dua atau beberapa tipe entitas, dan pengguna dapat menavigasi relasi dari satu ujung (entitas) ke ujung lainnya. from dan to bersyarat opsional bila tidak ada ambiguitas dalam resolusi nama dalam hubungan.

NAVIGATE valid dalam ruang O dan C.

Bentuk umum dari konstruksi navigasi adalah sebagai berikut:

navigasi(instance-expression, relationship-type, [ to-end [, from-end ] ] )

Misalnya:

Select o.Id, navigate(o, OrderCustomer, Customer, Order)
From LOB.Orders as o

Di mana OrderCustomer adalah relationship, dan Pelanggan dan Pesanan adalah to-end (pelanggan) dan from-end (pesanan) dari hubungan tersebut. Jika OrderCustomer adalah hubungan:1, jenis hasil dari ekspresi navigasi adalah Ref<Pelanggan>.

Bentuk sederhana dari ekspresi ini adalah sebagai berikut:

Select o.Id, navigate(o, OrderCustomer)
From LOB.Orders as o

Demikian pula, dalam kueri formulir berikut, Ekspresi navigasi akan menghasilkan Koleksi <Ref<Order>>.

Select c.Id, navigate(c, OrderCustomer, Order, Customer)
From LOB.Customers as c

Instans-ekspresi harus berupa jenis entitas/ref.

Contoh

Kueri Entity SQL berikut menggunakan operator NAVIGATE untuk menavigasi hubungan yang dibuat antara jenis entitas Alamat dan SalesOrderHeader. Kueri didasarkan pada Model Penjualan AdventureWorks. Untuk mengompilasi dan menjalankan kueri ini, ikuti langkah-langkah berikut:

  1. Ikuti prosedur di Cara: Menjalankan Kueri yang Menampilkan Hasil StructuralType.

  2. Teruskan kueri berikut sebagai argumen ke metode ExecuteStructuralTypeQuery :

SELECT address.AddressID, (SELECT VALUE DEREF(soh) 
FROM NAVIGATE(address, 
    AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID) 
    AS soh)
FROM AdventureWorksEntities.Addresses AS address

Lihat juga