FunctionImport 要素 (CSDL)
概念スキーマ定義言語 (CSDL) の FunctionImport 要素は、データ ソース内で定義され、オブジェクトが概念モデルを通じて使用できる関数を表します。 たとえば、ストレージ モデルの Function 要素を使用して、データベースのストアド プロシージャを表すことができます。 概念モデルの FunctionImport 要素は、Entity Framework アプリケーションの対応する関数を表しており、FunctionImportMapping 要素を使用することでストレージ モデル関数にマップされます。 関数がアプリケーションで呼び出されると、対応するストアド プロシージャがデータベースで実行されます。
FunctionImport 要素に基づく共通言語ランタイム (CLR) メソッドを Entity Framework アプリケーション用に生成することができます。 For more information, see Generated Code Overview (Entity Data Model Designer) and How to: Use EdmGen.exe to Generate Object-Layer Code.
The FunctionImport element can have the following child elements (in the order listed):
Documentation (0 または 1 つの要素を含めることができます)。
Parameter (0 個以上の要素を含めることができます)。
Annotation 要素 (0 個以上の要素を含めることができます)。
関数が受け取る各パラメーターに対して、Parameter 要素を 1 つ定義する必要があります。
適用可能な属性
The table below describes the attributes that can be applied to the FunctionImport element.
属性名 | 必須 | Value |
---|---|---|
Name |
有効 |
インポートされる関数の名前。 |
ReturnType |
いいえ |
関数が返す型。 関数が値を返さない場合には、この属性を使用しないでください。 それ以外の場合、値は EDMSimpleType、エンティティ型、複合型、あるいはモデルのスコープ内にあるエンティティ型または複合型のコレクションである必要があります。 ![]()
.NET Framework Version 3.5 SP1 を対象とするアプリケーションの概念モデルの場合、戻り値の型は EDMSimpleTypes またはエンティティ型のコレクションである必要があります。
|
EntitySet |
いいえ |
関数がエンティティ型のコレクションを返す場合、EntitySet の値は、コレクションが所属するエンティティ セットである必要があります。 そうでない場合には、EntitySet 属性を使用しないでください。 |
![]() |
---|
FunctionImport 要素には、任意数の annotation 属性 (カスタム XML 属性) を適用できます。However, custom attributes may not belong to any XML namespace that is reserved for CSDL.カスタム属性の完全修飾名は一意である必要があります。 |
例
次の例は、パラメーターを 1 つ受け取ってエンティティ型のコレクションを返す 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 Entity Data Model Tools
How to: Import a Stored Procedure