CREATEREF (Entity SQL)

Consente di creare riferimenti a un'entità in un oggetto EntitySet.

Sintassi

CreateRef(entityset_identifier, row_typed_expression)  

Argomenti

entityset_identifier
Identificatore dell'oggetto EntitySet, non un valore letterale stringa.

row_typed_expression
Espressione con tipizzazione di riga che corrisponde alle proprietà chiave del tipo di entità.

Osservazioni:

Dal punto di vista strutturale,row_typed_expression deve essere equivalente al tipo di chiave per l'entità. Questo significa che deve avere lo stesso numero di tipi e di campi nello stesso ordine delle chiavi di entità.

Nell'esempio seguente Orders e BadOrders sono entrambi oggetti EntitySet di tipo Order e si presuppone che Id sia la proprietà di chiave singola di Order. Nell'esempio viene illustrato in che modo è possibile creare un riferimento a un'entità in BadOrders. Si noti che il riferimento può essere inesatto, ovvero potrebbe non identificare effettivamente un'entità specifica. In casi di questo tipo un'operazione DEREF su tale riferimento restituisce un valore Null.

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

Esempio

Nella query Entity SQL seguente viene usato l'operatore CREATEREF per creare riferimenti a un'entità in un set di entità. La query è basata sul modello Sales di AdventureWorks. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:

  1. Seguire la procedura indicata in How to: Execute a Query that Returns StructuralType Results.

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

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

Vedi anche