Condividi tramite


CREATEREF (Entity SQL)

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

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 utilizzato 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 Procedura: eseguire una query che restituisce risultati StructuralType (EntityClient).

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

SELECT VALUE Key(CreateRef(AdventureWorksEntities.Product, 
    row(p.ProductID))) FROM AdventureWorksEntities.Product as p

Di seguito viene riportato l'output:

ProductID: 980
ProductID: 365
ProductID: 771
ProductID: 404
ProductID: 977
...

Vedere anche

Riferimento

DEREF (Entity SQL)
KEY (Entity SQL)
REF (Entity SQL)

Concetti

Riferimenti a Entity SQL
Operatori di riferimento (Entity SQL)