Compartir a través de


Constructor de tipos con nombre (Entity SQL)

Se utiliza para crear instancias de los tipos nominales de Entity Data Model (EDM) como tipos de entidad o tipos complejos.

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

Argumentos

  • identifier
    Valor que es un identificador simple o incluido entre comillas. Para obtener más información, vea Identificadores (Entity SQL).
  • 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 utiliza el constructor de tipos con nombre para crear una instancia de un tipo de EDM. La consulta se basa en el modelo AdventureWorks Sales. Para compilar y ejecutar esta consulta, siga estos pasos:

  1. Siga el procedimiento de Cómo ejecutar una consulta que devuelve resultados StructuralType (EntityClient).

  2. Pase la consulta siguiente como argumento al método 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

Este ejemplo genera el siguiente resultado:

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
...

Vea también

Conceptos

Operadores de constructores de tipos (Entity SQL)
Referencia de Entity SQL