Freigeben über


CREATEREF (Entity SQL)

Erstellt Verweise auf eine Entität in einer Entitätenmenge.

CreateRef(entityset_identifier, row_typed_expression)

Argumente

  • entityset_identifier
    Der Entitätenmengenbezeichner, kein Zeichenfolgenliteral.
  • row_typed_expression
    Ein zeilentypisierter Ausdruck, der den Schlüsseleigenschaften des Entitätstyps entspricht.

Hinweise

row_typed_expression muss strukturell dem Schlüsseltyp der Entität entsprechen. Dies bedeutet, er muss hinsichtlich Anzahl, Typen und Reihenfolge der Felder zu den Entitätsschlüsseln passen.

Im folgenden Beispiel sind sowohl "Orders" als auch "BadOrders" Entitätenmengen vom Typ "Order". "Id" ist die einzige Schlüsseleigenschaft von "Order". Im Beispiel wird veranschaulicht, wie in "BadOrders" ein Verweis auf eine Entität erstellt werden kann. Beachten Sie, dass der Verweis möglicherweise „hängt“. Dies bedeutet, dass der Verweis möglicherweise keine spezifische Entität identifiziert. In diesen Fällen gibt eine DEREF-Operation auf diesen Verweis den Wert NULL zurück.

select CreateRef(LOB.BadOrders, row(o.Id)) 
from LOB.Orders as o 

Beispiel

In der folgenden Entity SQL-Abfrage werden mithilfe des CREATEREF-Operators Verweise auf eine Entität in einer Entitätenmenge erstellt. Die Abfrage basiert auf dem AdventureWorks Sales-Modell. Führen Sie folgende Schritte aus, um diese Abfrage zu kompilieren und auszuführen:

  1. Verwenden Sie das Verfahren unter Gewusst wie: Ausführen einer Abfrage, die StructuralType-Ergebnisse zurückgibt (EntityClient).

  2. Übergeben Sie die folgende Abfrage als Argument an die ExecuteStructuralTypeQuery-Methode:

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

Die Ausgabe ist im Folgenden dargestellt:

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

Siehe auch

Verweis

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

Konzepte

Entity SQL-Referenz
Verweisoperatoren (Entity SQL)