TypeRef 元素 (CSDL)
以概念架构定义语言 (CSDL) 表示的 TypeRef 元素提供对于现有命名类型的引用。 TypeRef 元素可以是 CollectionType 元素的子元素,CollectionType 元素用于指定函数具有集合作为参数或返回类型。 有关更多信息,请参见 Function 元素 (CSDL)。
TypeRef 元素可以具有以下子元素(按所列顺序):
Documentation(零个或一个元素)
批注元素(零个或多个元素)
适用的特性
下表介绍可应用于 TypeRef 元素的特性。 注意:DefaultValue、MaxLength、FixedLength、Precision、Scale、Unicode 和 Collation 特性只适用于 EDMSimpleTypes。 有关更多信息,请参见方面 (CSDL)和概念模型类型。
特性名称 | 是否必需 | 值 |
---|---|---|
Type |
否 |
所引用的类型的名称。 |
Nullable |
否 |
True(默认值)或 False,具体取决于属性是否可以具有 null 值。
注意:
在由 https://schemas.microsoft.com/ado/2006/04/edm 命名空间指示的 CSDL 版本中,复杂类型属性必须具有
Nullable="False" 。
|
DefaultValue |
否 |
属性的默认值。 |
MaxLength |
否 |
属性值的最大长度。 |
FixedLength |
否 |
True 或 False,具体取决于属性值是否将作为固定长度字符串存储。 |
Precision |
否 |
属性值的精度。 |
Scale |
否 |
属性值的刻度。 |
Unicode |
否 |
True 或 False,具体取决于属性值是否将作为 Unicode 字符串存储。 |
Collation |
否 |
指定要在数据源中使用的排序序列的字符串。 |
注意: |
---|
可以将任何数量的批注特性(自定义 XML 特性)应用于 CollectionType 元素。然而,自定义特性可能不属于为 CSDL 保留的任何 XML 命名空间。任何两个自定义特性的完全限定名称都不能相同。 |
示例
下面的示例演示一个模型定义函数,它使用 TypeRef 元素(作为 CollectionType 元素的子元素)来指定此函数接受 Department 实体类型的集合。
<Function Name="GetAvgBudget">
<Parameter Name="Departments">
<CollectionType>
<TypeRef Type="SchoolModel.Department"/>
</CollectionType>
</Parameter>
<ReturnType Type="Collection(Edm.Decimal)"/>
<DefiningExpression>
SELECT VALUE AVG(d.Budget) FROM Departments AS d
</DefiningExpression>
</Function>
另请参见
概念
实体框架概述
CSDL 规范
FunctionImport 元素 (CSDL)