Constructor de tipos con nombre (Entity SQL)

Se usa para crear instancias de los tipos nominales del modelo conceptual como los tipos de entidad o los tipos complejos.

Sintaxis

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

Argumentos

identifier
Valor que es un identificador simple o incluido entre comillas. Para más información, consulte Identificadores

expression
Atributos del tipo que se suponen que conservan el mismo orden que cuando aparecen en la declaración del tipo.

Valor devuelto

Instancias de tipos complejos con nombre y de tipos de entidad.

Comentarios

En los ejemplos siguientes se muestra cómo crear tipos nominales y complejos:

La expresión siguiente crea una instancia de un tipo Person :

Person("abc", 12)

La expresión siguiente crea una instancia de un tipo complejo:

MyModel.ZipCode('98118', '4567')

La expresión siguiente crea una instancia de un tipo complejo anidado:

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

La expresión siguiente crea una instancia de una entidad con un tipo complejo anidado:

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

En el ejemplo siguiente se muestra cómo inicializar una propiedad de un tipo complejo en NULL:MyModel.ZipCode('98118', null)

Ejemplo

La consulta de Entity SQL siguiente usa el constructor de tipos con nombre para crear una instancia de un tipo del modelo conceptual. La consulta se basa en el modelo AdventureWorks Sales. Para compilar y ejecutar esta consulta, siga estos pasos:

  1. Siga el procedimiento de How to: Execute a Query that Returns StructuralType Results.

  2. Pase la consulta siguiente como argumento al método ExecuteStructuralTypeQuery :

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

Consulte también