巡覽實體之間建立的關聯性。
語法
navigate(instance-expression, [relationship-type], [to-end [, from-end] ])
論點
instance-expression 實體的實例。
relationship-type 關聯性的型別名稱,來自概念架構定義語言 (CSDL) 檔案。 限定 relationship-type 為 <命名空間>。<關聯性類型名稱>。
to 關聯性的結尾。
from 關聯性的開頭。
傳回值
如果結束的基數是 1,則傳回值會是 Ref<T>。 如果結束的基數是 n,則傳回值會是 Collection<Ref<T>>。
備註
關聯性是實體數據模型 (EDM) 中的第一級建構。 您可以在兩個或多個實體類型之間建立關聯性,而且使用者可以從一端(實體)巡覽至另一個關聯性。
from 當關聯性內的名稱解析中沒有模棱兩可時,和 to 會有條件地選擇性。
NAVIGATE 在 O 和 C 空間中有效。
導覽建構的一般形式如下:
navigate(instance-expression, , relationship-type[ [ to-end , from-end ] ] )
例如:
Select o.Id, navigate(o, OrderCustomer, Customer, Order)
From LOB.Orders as o
其中 OrderCustomer 是 relationship,而 Customer 和 Order 是 to-end 關聯性的 (customer) 和 from-end (order) 。 如果 OrderCustomer 是 n:1 關聯性,則 navigate 表達式的結果類型為 Ref<Customer>。
此表示式的簡單形式如下:
Select o.Id, navigate(o, OrderCustomer)
From LOB.Orders as o
同樣地,在下列窗體的查詢中,navigate 表達式會產生集合<Ref<Order>>。
Select c.Id, navigate(c, OrderCustomer, Order, Customer)
From LOB.Customers as c
instance-expression 必須是實體/ref 類型。
範例
下列 Entity SQL 查詢會使用 NAVIGATE 運算符來巡覽 Address 和 SalesOrderHeader 實體類型之間建立的關聯性。 查詢是以 AdventureWorks 銷售模型為基礎。 若要編譯並執行此查詢,請遵循下列步驟:
遵循 如何:執行會傳回 StructuralType 結果的查詢中的程式。
將下列查詢當做自變數傳遞至
ExecuteStructuralTypeQuery方法:
SELECT address.AddressID, (SELECT VALUE DEREF(soh)
FROM NAVIGATE(address,
AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID)
AS soh)
FROM AdventureWorksEntities.Addresses AS address