Parameter 元素 (CSDL)
以概念架构定义语言 (CSDL) 表示的 Parameter 元素可以是 FunctionImport 元素或 Function 元素的子元素。
FunctionImport 元素应用程序
Parameter 元素(作为 FunctionImport 元素的子元素)用于为 CSDL 中声明的函数导入定义输入和输出参数。
Parameter 元素可以具有以下子元素(按所列顺序):
Documentation(允许零个或一个元素)
Annotation 元素(允许零个或多个元素)
适用的特性
下表介绍可应用于 Parameter 元素的特性。
特性名称 | 是否必需 | 值 |
---|---|---|
Name |
是 |
参数名。 |
Type |
是 |
参数类型。 该值必须是模型范围内的 EDMSimpleType 或复杂类型。 有关更多信息,请参见概念模型类型。 |
Mode |
否 |
In、Out 或 InOut,具体取决于参数是输入参数、输出参数或输入/输出参数。 |
MaxLength |
否 |
参数的最大允许长度。 |
Precision |
否 |
参数的精度。 |
Scale |
否 |
参数的小数位数。 |
注意: |
---|
可以将任何数量的批注特性(自定义 XML 特性)应用于 Parameter 元素。然而,自定义特性可能不属于为 CSDL 保留的任何 XML 命名空间。任何两个自定义特性的完全限定名称都不能相同。 |
示例
下面的示例显示具有一个 Parameter 子元素的 FunctionImport 元素。 函数接受一个输入参数并返回实体类型的集合。
<FunctionImport Name="GetStudentGrades"
EntitySet="StudentGrade"
ReturnType="Collection(SchoolModel.StudentGrade)">
<Parameter Name="StudentID" Mode="In" Type="Int32" />
</FunctionImport>
Function 元素应用程序
Parameter 元素(作为 Function 元素的子元素)为概念模型中定义或声明的函数定义参数。
Parameter 元素可以具有以下子元素(按所列顺序):
Documentation(零个或一个元素)
CollectionType(零个或一个元素)
ReferenceType(零个或一个元素)
RowType(零个或一个元素)
注意: |
---|
仅 CollectionType、ReferenceType 或 RowType 元素之一可以作为 Property 元素的子元素。 |
- Annotation 元素(允许零个或多个元素)
注意: |
---|
Annotation 元素必须出现在所有其他子元素之后。批注元素只能用在面向 .NET Framework 版本 4 或更高版本的应用程序的概念模型中。此类模型的 XML 命名空间为 https://schemas.microsoft.com/ado/2008/09/edm。 |
适用的特性
下表介绍可应用于 Parameter 元素的特性。
特性名称 | 是否必需 | 值 |
---|---|---|
Name |
是 |
参数名。 |
Type |
否 |
参数类型。 参数可以是以下任意类型(或这些类型的集合):
有关这些类型的更多信息,请参见概念模型类型。 |
Nullable |
否 |
True(默认值)或 False,具体取决于属性是否可以具有 null 值。 |
DefaultValue |
否 |
属性的默认值。 |
MaxLength |
否 |
属性值的最大长度。 |
FixedLength |
否 |
True 或 False,具体取决于属性值是否将作为固定长度字符串存储。 |
Precision |
否 |
属性值的精度。 |
Scale |
否 |
属性值的刻度。 |
Unicode |
否 |
True 或 False,具体取决于属性值是否将作为 Unicode 字符串存储。 |
Collation |
否 |
指定要在数据源中使用的排序序列的字符串。 |
注意: |
---|
可以将任何数量的批注特性(自定义 XML 特性)应用于 Parameter 元素。然而,自定义特性可能不属于为 CSDL 保留的任何 XML 命名空间。任何两个自定义特性的完全限定名称都不能相同。 |
示例
下面的示例显示 Function 元素,该元素使用一个 Parameter 子元素来定义函数参数。
<Function Name="GetYearsEmployed" ReturnType="Edm.Int32">
<Parameter Name="Instructor" Type="SchoolModel.Person" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(cast(Instructor.HireDate as DateTime))
</DefiningExpression>
</Function>
另请参见
概念
实体框架概述
CSDL 规范
EntityContainer 元素 (CSDL)
其他资源
CSDL、SSDL 和 MSL 规范
ADO.NET Entity Data Model Tools
How to: Import a Stored Procedure
How to: Define Custom Functions in the Conceptual Model