Udostępnij za pośrednictwem


CREATEREF (Entity SQL)

Tworzy szkielet odwołań do jednostki w zestawie jednostek.

Składnia

CreateRef(entityset_identifier, row_typed_expression)  

Argumenty

entityset_identifier
Identyfikator zestawu jednostek, a nie literał ciągu.

row_typed_expression
Wyrażenie typizowane przez wiersz, które odpowiada właściwościom klucza typu jednostki.

Uwagi

row_typed_expression musi być strukturalnie równoważna typowi klucza dla jednostki. Oznacza to, że musi mieć taką samą liczbę i typy pól w takiej samej kolejności, jak klucze jednostek.

W poniższym przykładzie wartości Orders i BadOrders są zarówno jednostkami typu Order, jak i id przyjmuje się, że jest to pojedyncza właściwość klucza Order. W przykładzie pokazano, jak możemy utworzyć odwołanie do jednostki w badorders. Należy pamiętać, że odwołanie może zwisać. Oznacza to, że odwołanie może nie identyfikować konkretnej jednostki. W takich przypadkach DEREF operacja na tym odwołaniu zwraca wartość null.

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

Przykład

Następujące zapytanie Entity SQL używa operatora CREATEREF do tworzenia sieci szkieletowej odwołań do jednostki w zestawie jednostek. Zapytanie jest oparte na modelu AdventureWorks Sales. Aby skompilować i uruchomić to zapytanie, wykonaj następujące kroki:

  1. Postępuj zgodnie z procedurą w temacie Instrukcje: wykonywanie zapytania zwracającego wyniki StructuralType.

  2. Przekaż następujące zapytanie jako argument do ExecuteStructuralTypeQuery metody :

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

Zobacz też