Named Type Constructor

Named Type Constructor (Entity SQL)

 

Used to create instances of conceptual model nominal types such as Entity or Complex types.


[{identifier. }] identifier( [expression [{, expression }]] )

identifier

Value that is a simple or quoted identifier. For more information see, Identifiers (Entity SQL)

expression

Attributes of the type that are assumed to be in the same order as they appear in the declaration of the type.

Instances of named complex types and entity types.

The following examples show how to construct nominal and complex types:

The expression below creates an instance of a Person type:

Person("abc", 12)

The expression below creates an instance of a complex type:

MyModel.ZipCode(‘98118’, ‘4567’)

The expression below creates an instance of a nested complex type:

MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567'))

The expression below creates an instance of an entity with a nested complex type:

MyModel.Person("Bill", MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567')))

The following example shows how to initialize a property of a complex type to null:MyModel.ZipCode(‘98118’, null)

Example

The following Entity SQL query uses the named type constructor to create an instance of a conceptual model type. The query is based on the AdventureWorks Sales Model. To compile and run this query, follow these steps:

  1. Follow the procedure in How to: Execute a Query that Returns StructuralType Results.

  2. Pass the following query as an argument to the ExecuteStructuralTypeQuery method:

SELECT VALUE AdventureWorksModel.SalesOrderDetail
    (o.SalesOrderID, o.SalesOrderDetailID, o.CarrierTrackingNumber,
    o.OrderQty, o.ProductID, o.SpecialOfferID, o.UnitPrice,
    o.UnitPriceDiscount, o.LineTotal, o.rowguid, o.ModifiedDate)
    FROM AdventureWorksEntities.SalesOrderDetails AS o
Show:
© 2016 Microsoft