Compartilhar via


Construtor de tipo nomeado (Entity SQL)

Usado para criar instâncias de tipos nominais de modelo conceitual como a entidade ou tipos complexos.

Sintaxe

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

Argumentos

identifier
Valor que é um identificador simples ou citado. Para obter mais informações, confira Identificadores

expression
Atributos de tipo que são considerados para estar na mesma ordem que aparecem na declaração de tipo.

Valor Retornado

Instâncias de tipos complexos nomeados e tipos de entidade.

Comentários

Os exemplos a seguir mostram como construir o substantivo e os tipos complexos:

A expressão a seguir cria uma instância de um tipo de Person :

Person("abc", 12)

A expressão a seguir cria uma instância de um tipo complexo:

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

A expressão a seguir cria uma instância de um tipo complexo aninhado:

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

A expressão a seguir cria uma instância de um objeto com um tipo complexo aninhado:

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

O exemplo a seguir mostra como inicializar uma propriedade de um tipo complexo para nulo:MyModel.ZipCode('98118', null)

Exemplo

A seguinte consulta SQL Entity usa o construtor chamado de tipo para criar uma instância de um tipo de modelo conceitual. A consulta é baseada no modelo de vendas AdventureWorks. Para compilar e executar essa consulta, siga estas etapas:

  1. Siga o procedimento em Como executar uma consulta que retorna resultados de StructuralType.

  2. Passe a consulta a seguir como um argumento para o 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

Confira também