Megosztás:


CREATEREF (Entity SQL)

Entitáskészlet egy entitására mutató hivatkozásokat hoz létre.

Szemantika

CreateRef(entityset_identifier, row_typed_expression)  

Érvek

entityset_identifier
Az entitáskészlet azonosítója, nem sztringkonstans.

row_typed_expression
Egy sor típusú kifejezés, amely megfelel az entitástípus kulcstulajdonságainak.

Megjegyzések

row_typed_expression szerkezetileg egyenértékűnek kell lennie az entitás kulcstípusával. Vagyis a mezők számának és típusának ugyanabban a sorrendben kell lennie, mint az entitáskulcsoknak.

Az alábbi példában a Rendelések és a BadOrders egyaránt Order típusú entitáskészletek, az Azonosító pedig a Rendelés egyetlen kulcstulajdonsága. A példa bemutatja, hogyan hozhatunk létre hivatkozást egy BadOrders-entitásra. Vegye figyelembe, hogy a hivatkozás lehet, hogy dangling. Vagyis előfordulhat, hogy a hivatkozás valójában nem azonosít egy adott entitást. Ezekben az esetekben a DEREF hivatkozáson lévő művelet null értéket ad vissza.

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

példa

Az alábbi Entity SQL-lekérdezés a CREATEREF operátor használatával készít hivatkozásokat egy entitáskészlet egy entitására. A lekérdezés az AdventureWorks értékesítési modellen alapul. A lekérdezés fordításához és futtatásához kövesse az alábbi lépéseket:

  1. Kövesse a How to: Execute a Query that Returns StructuralType Results (Szerkezeti típus eredményeinek visszaadása) című témakör lépéseit.

  2. Adja át a következő lekérdezést argumentumként a ExecuteStructuralTypeQuery metódusnak:

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

Lásd még