Condividi tramite


CREATEREF (Entity SQL)

Crea riferimenti a un'entità in un set di entità.

Sintassi

CreateRef(entityset_identifier, row_typed_expression)  

Argomenti

entityset_identifier
Identificatore entityset, non valore letterale stringa.

row_typed_expression
Espressione tipizzata da righe che corrisponde alle proprietà chiave del tipo di entità.

Osservazioni:

row_typed_expression deve essere strutturalmente equivalente al tipo di chiave per l'entità. Ovvero, deve avere lo stesso numero e gli stessi tipi di campi nello stesso ordine delle chiavi di entità.

Nell'esempio seguente, Orders e BadOrders sono entrambi entityset di tipo Order e Id è considerato la singola proprietà chiave di Order. L'esempio illustra come produrre un riferimento a un'entità in BadOrders. Si noti che il riferimento può essere incerto. Ovvero, il riferimento potrebbe non identificare effettivamente un'entità specifica. In questi casi, un'operazione DEREF su tale riferimento restituisce un valore Null.

SELECT CreateRef(LOB.BadOrders, row(o.Id))
FROM LOB.Orders AS o

Esempio

La query Entity SQL seguente usa l'operatore CREATEREF per creare riferimenti a un'entità in un set di entità. La query si basa sul modello AdventureWorks Sales. Per compilare ed eseguire questa query, seguire questa procedura:

  1. Seguire la procedura descritta in Procedura: Eseguire una query che restituisce risultati StructuralType.

  2. Passare la query seguente come argomento al ExecuteStructuralTypeQuery metodo :

SELECT VALUE Key(CreateRef(AdventureWorksEntities.Products, 
    row(p.ProductID))) 
FROM AdventureWorksEntities.Products AS p

Vedere anche