Конструктор именованного типа (язык Entity SQL)

Используется для создания экземпляров номинальных типов концептуальной модели, например сложных типов или типов сущностей.

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

Аргументы

  • identifier
    Значение, представляющее собой простой или заключенный в кавычки идентификатор. Дополнительные сведения см. в разделе Идентификаторы (язык Entity SQL).
  • expression
    Атрибуты типа, которые, как предполагается, должны располагаться в таком же порядке, как и в декларации этого типа.

Возвращаемое значение

Экземпляры именованных сложных типов и типов сущностей.

Замечания

В следующих примерах показано, как создавать номинальные и сложные типы.

Приведенное далее выражение создает экземпляр типа Person.

Person("abc", 12)

Приведенное далее выражение создает экземпляр сложного типа.

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

Приведенное далее выражение создает экземпляр вложенного сложного типа.

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

Приведенное далее выражение создает экземпляр сущности с вложенным сложным типом.

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

В следующем примере показано, как инициализировать свойство сложного типа значением null: MyModel.ZipCode(‘98118’, null).

Пример

В следующем запросе Entity SQL конструктор именованного типа используется для создания экземпляра типа концептуальной модели. Запрос основан на модели AdventureWorks Sales. Для компиляции и запуска этого запроса выполните следующие шаги.

  1. Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типа StructuralType (EntityClient).

  2. Передайте следующий запрос в качестве аргумента методу 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

См. также

Основные понятия

Конструирование типов (Entity SQL)
Справочник по Entity SQL