命名类型构造函数 (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 销售模型。 若要编译并运行此查询,请执行下列步骤:
将以下查询作为参数传递给
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