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:
Seguire la procedura indicata in Procedura: eseguire una query che restituisce risultati StructuralType (EntityClient).
Passare la query seguente come argomento al metodo
ExecuteStructuralTypeQuery
:
SELECT VALUE Key(CreateRef(AdventureWorksEntities.Products,
row(p.ProductID))) FROM AdventureWorksEntities.Products as p
Vedere anche
Riferimento
DEREF (Entity SQL)
KEY (Entity SQL)
REF (Entity SQL)