CREATEREF (Entity SQL)

Crée les références à une entité dans un jeu d'entités.

Syntaxe

CreateRef(entityset_identifier, row_typed_expression)  

Arguments

entityset_identifier
Identificateur de jeu d'entités ; ne correspond pas à un littéral de chaîne.

row_typed_expression
Expression typée ligne correspondant aux propriétés de clés du type d'entité.

Notes

La structure derow_typed_expression doit être équivalente au type de clé de l'entité. Autrement dit, les champs qu'elle contient doivent être identiques en nombre et en types à ceux des clés de l'entité, et ils doivent être disposés dans le même ordre.

Dans l'exemple ci-dessous, Orders et BadOrders sont des jeux d'entités de type Order, et Id est supposé être l'unique propriété de clé de type Order. Cet exemple montre comment produire une référence à une entité de BadOrders. Notez que la référence peut être non résolue. Autrement dit, la référence peut ne pas identifier réellement une entité spécifique. Dans ce cas, une opération DEREF sur cette référence retourne une valeur NULL.

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

Exemple

La requête Entity SQL ci-dessous utilise l'opérateur CREATEREF pour créer des références à une entité contenue dans un jeu d'entités. Cette requête est basée sur le modèle de vente AdventureWorks Sales Model. Pour compiler et exécuter cette requête, procédez comme suit :

  1. Suivez la procédure indiquée dans How to: Execute a Query that Returns StructuralType Results.

  2. Transmettez à la méthode ExecuteStructuralTypeQuery la requête suivante en tant qu'argument :

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

Voir aussi