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 모델을 기반으로 합니다. 이 쿼리를 컴파일하고 실행하려면 다음 단계를 수행하십시오.
방법: StructuralType 결과를 반환하는 쿼리 실행(EntityClient)의 절차를 수행합니다.
다음 쿼리를
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)