명명된 형식 생성자(Entity SQL)
엔터티 형식이나 복합 형식과 같은 EDM(엔터티 데이터 모델) 명목 형식의 인스턴스를 만드는 데 사용됩니다.
[{identifier. }] identifier( [expression [{, expression }]] )
인수
- identifier
단순 식별자 또는 따옴표 붙은 식별자인 값입니다. 자세한 내용은 식별자(Entity SQL)를 참조하십시오.
- expression
형식의 특성으로서, 형식 선언에 나타나는 것과 동일한 순서일 것으로 가정됩니다.
반환 값
명명된 복합 형식 및 엔터티 형식의 인스턴스입니다.
설명
다음 예제에서는 명목 형식 및 복합 형식을 생성하는 방법을 보여 줍니다.
다음 식은 Person 형식의 인스턴스를 만듭니다.
Person("abc", 12)
다음 식은 복합 형식의 인스턴스를 만듭니다.
MyModel.ZipCode(‘98118’, ‘4567’)
다음 식은 중첩된 복합 형식의 인스턴스를 만듭니다.
MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567'))
다음 식은 중첩된 복합 형식을 가진 엔터티의 인스턴스를 만듭니다.
MyModel.Person("Bill", MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567')))
다음 예제에서는 복합 형식의 속성을 null로 초기화하는 방법을 보여 줍니다. MyModel.ZipCode(‘98118’, null)
예제
다음 Entity SQL 쿼리에서는 명명된 형식 생성자를 사용하여 EDM 형식의 인스턴스를 만듭니다. 쿼리는 AdventureWorks Sales 모델을 기반으로 합니다. 이 쿼리를 컴파일하고 실행하려면 다음 단계를 수행하십시오.
방법: StructuralType 결과를 반환하는 쿼리 실행(EntityClient)의 절차를 수행합니다.
다음 쿼리를
ExecuteStructuralTypeQuery
메서드에 인수로 전달합니다.
SELECT VALUE AdventureWorksModel.SalesOrderDetail
(o.SalesOrderDetailID, o.CarrierTrackingNumber,
o.OrderQty, o.ProductID, o.SpecialOfferID, o.UnitPrice,
o.UnitPriceDiscount, o.rowguid, o.ModifiedDate)
FROM AdventureWorksEntities.SalesOrderDetail AS o
이 예제의 결과는 다음과 같습니다.
SalesOrderDetailID: 1
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 776
SalesOrderDetailID: 2
CarrierTrackingNumber: 4911-403C-98
OrderQty: 3
ProductID: 777
SalesOrderDetailID: 3
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 778
SalesOrderDetailID: 4
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 771
SalesOrderDetailID: 5
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 772
...