FunctionImport 元素 (CSDL)

以概念架构定义语言 (CSDL) 表示的 FunctionImport 元素表示一个函数,该函数在数据源中定义,但通过概念模型对对象可用。例如,存储模型中的 Function 元素可用于表示数据库中的存储过程。概念模型中的 FunctionImport 元素表示实体框架应用程序中的相应函数,并使用 FunctionImportMapping 元素映射到存储模型函数。在应用程序中调用函数时,会在数据库中执行相应的存储过程。

可以根据 FunctionImport 元素为实体框架应用程序生成公共语言运行库 (CLR) 方法。有关更多信息,请参见生成的代码概述(实体数据模型设计器)如何:使用 EdmGen.exe 生成对象层代码

FunctionImport 元素可以具有以下子元素(按所列顺序):

应为函数接受的每个参数定义一个 Parameter。

适用的特性

下表介绍可应用于 FunctionImport 元素的特性。

特性名

是否必需

Value

Name

导入的函数的名称。

ReturnType

函数返回的类型。如果函数不返回值,不要使用此特性。否则,值必须 RowType、ComplexType、EntityType 或 EDMSimpleType 的集合。

EntitySet

如果函数返回实体类型的集合,EntitySet 的值必须为该集合所属的实体集。否则,不得使用 EntitySet 特性。

备注

可以将任何数量的批注特性(自定义 XML 特性)应用于 FunctionImport 元素。然而,自定义特性可能不属于为 CSDL 保留的任何 XML 命名空间。任何两个自定义特性的完全限定名称都不能相同。

示例

下面的示例显示一个 FunctionImport 元素,该元素接受一个参数并返回实体类型的集合:

<FunctionImport Name="GetStudentGrades" 
                EntitySet="StudentGrade" 
                ReturnType="Collection(SchoolModel.StudentGrade)">
       <Parameter Name="StudentID" Mode="In" Type="Int32" />
</FunctionImport>

请参阅

任务

如何:导入存储过程

概念

实体框架概述

CSDL 规范

EntityContainer 元素 (CSDL)

其他资源

CSDL、SSDL 和 MSL 规范

ADO.NET 实体数据模型工具