Function 要素 (CSDL)
概念スキーマ定義言語 (CSDL) の Function 要素は、概念モデルで関数を定義または宣言するために使用します。関数は、DefiningExpression 要素を使用して定義されます。詳細については、「方法: 概念モデルでカスタム関数を定義する」を参照してください。
Function 要素には、次の子要素をここに示す順序で含めることができます。
Documentation (0 個または 1 個の要素)
Parameter (0 個以上の要素)
DefiningExpression (0 個または 1 個の要素)
ReturnType (0 個または 1 個の要素)
Annotation 要素 (0 個以上の要素)
関数の戻り値の型は、ReturnType 要素または ReturnType 属性 (下記参照) のいずれかを使用して指定する必要があります。両方で指定することはできません。有効な戻り値の型には、EdmSimpleType、エンティティ型、複合型、行型、または参照型 (あるいはこれらの型のいずれかのコレクション) があります。詳細については、「概念モデルの型 (CSDL)」を参照してください。
適用可能な属性
Function 要素に適用できる属性を次の表に示します。
属性名 |
必須 |
値 |
---|---|---|
Name |
はい |
関数の名前。 |
ReturnType |
いいえ |
関数の戻り値の型。 |
注意
Function 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。ただし、カスタム属性は CSDL 用に予約されたどの XML 名前空間にも属さない場合があります。カスタム属性の完全修飾名は一意である必要があります。
例
次の例では、あるインストラクターが雇用されてからの年数を返す関数の定義に Function 要素を使用しています。
<Function Name="YearsSinceNow" ReturnType="Edm.Int32">
<Parameter Name="date" Type="Edm.DateTime" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(date)
</DefiningExpression>
</Function>
<Function Name="YearsSince" ReturnType="Edm.Int32">
<Parameter Name="date" Type="Edm.DateTime" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(date)
</DefiningExpression>
</Function>