다음을 통해 공유


CREATEREF(Entity SQL)

entityset의 엔터티에 대한 참조를 작성합니다.

CreateRef(entityset_identifier, row_typed_expression)

인수

  • entityset_identifier
    문자열 리터럴이 아니라 entityset 식별자입니다.
  • row_typed_expression
    엔터티 형식의 키 속성에 해당하는 행 형식의 식입니다.

설명

row_typed_expression은 엔터티의 키 유형과 구조적으로 동일해야 합니다. 다시 말해서, 필드의 개수와 형식 및 배열 순서가 엔터티 키와 동일해야 합니다.

아래 예제에서 Order와 BadOrder는 모두 Order 형식의 entityset이며, Id는 Order의 단일 키 속성인 것으로 간주됩니다. 예제에서는 BadOrder의 엔터티에 대한 참조를 생성하는 방법을 설명합니다. 이 참조는 현수 참조일 수 있습니다. 다시 말해서, 참조가 특정 엔터티를 실제로 나타내지 않을 수 있습니다. 이런 경우 해당 참조에 대해 DEREF 작업을 수행하면 null이 반환됩니다.

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

예제

다음 Entity SQL 쿼리는 CREATEREF 연산자를 사용하여 엔터티 집합 내의 엔터티에 대한 참조를 작성합니다. 쿼리는 AdventureWorks Sales 모델을 기반으로 합니다. 이 쿼리를 컴파일하고 실행하려면 다음 단계를 수행하십시오.

  1. 방법: StructuralType 결과를 반환하는 쿼리 실행(EntityClient)의 절차를 수행합니다.

  2. 다음 쿼리를 ExecuteStructuralTypeQuery 메서드에 인수로 전달합니다.

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

출력되는 결과는 다음과 같습니다.

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

참고 항목

참조

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

개념

Entity SQL 참조
참조 연산자(Entity SQL)