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:
Siga o procedimento em Como executar uma consulta que retorna resultados de StructuralType.
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