Sdílet prostřednictvím


CREATEREF (Entity SQL)

Vytvoří odkazy na entitu v sadě entit.

Syntaxe

CreateRef(entityset_identifier, row_typed_expression)  

Argumenty

entityset_identifier
Identifikátor sady entit, nikoli řetězcový literál.

row_typed_expression
Výraz typu řádek, který odpovídá klíčovým vlastnostem typu entity.

Poznámky

row_typed_expression musí být strukturálně ekvivalentní typu klíče pro entitu. To znamená, že musí mít stejný počet a typy polí ve stejném pořadí jako klíče entity.

V následujícím příkladu jsou Objednávky a BadOrders jak entity sady typu Order, tak ID se předpokládá jako jedna klíčová vlastnost Order. Příklad ukazuje, jak můžeme vytvořit odkaz na entitu v BadOrders. Všimněte si, že odkaz může být prokláněný. To znamená, že odkaz nemusí ve skutečnosti identifikovat konkrétní entitu. V takových případech DEREF vrátí operace s tímto odkazem hodnotu null.

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

Příklad

Následující dotaz Entity SQL používá operátor CREATEREF k vytvoření odkazů na entitu v sadě entit. Dotaz je založený na prodejním modelu AdventureWorks. Chcete-li tento dotaz zkompilovat a spustit, postupujte takto:

  1. Postupujte podle pokynů v části Postupy: Provedení dotazu, který vrací výsledky typu StructuralType.

  2. Jako argument metody ExecuteStructuralTypeQuery předejte následující dotaz:

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

Viz také