Web API 関数

CSDL $metadata ドキュメント 内に、Function 要素があります。 関数の操作は、データを変更してはならないという点でアクションとは異なります。 これらは通常、データを取得するためにのみ使用されます。

すべての関数に Name 属性があります。 この名前は、HTTP GET を使用するときの URL の一部になり、要求の URL で関数の定義されたパラメータを送信します。

バインドされた関数

アクションと同じように、関数に IsBound="true" 属性がある場合があります。 つまり、バインドされた 関数です。 IsBound 属性のない関数は バインドされていません。 バインドされた関数は、最初のパラメーターがテーブル レコードまたはエンティティ セットへの参照であることを意味します。

関数がバインドされると、サービス名前空間内の特定のアイテムへの参照が含まれます。 関数を使用するには、Microsoft.Dynamics.CRM 名前空間を含む完全修飾名を使用する必要があります。 詳細: サービス名前空間

構成可能な関数

関数には、IsComposable="true" 属性が含まれる場合があります。 これは、$filter または $select のようなシステム クエリ オプションをアペンドすることができることを意味します。 このオプションは、特定のシステム機能でのみ使用できます。 構成可能なカスタム API を使用して関数を作成することはできません。

Parameters

関数には: 1 つ以上の Parameter 要素があります。 各パラメーターには、次の属性があります。

属性 説明
Name パラメーターの名前。
名前は、Function がオーバーロードしていない限り一意です。 詳細: オーバーロードした関数 を参照してください。
Type パラメーターの種類。
Nullable="false" パラメータが null 値を受け入れることができるかどうか

ReturnType

関数は値を返す必要があります。 関数には、常に ReturnType 要素が含まれます。

属性 説明
Type パラメーターの種類。
Nullable="false" 値が null 値である可能性があるかどうか。

関数定義の例

以下は、異なるバインド パターンを表示している Function 定義の架空の例です。 これらの各例は整数値を返します。

バインドされていない関数

単一の整数 Number パラメーターを持つバインドされていない関数。

<Function Name="UnBoundFunctionExample">
    <Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
    <ReturnType Type="Edm.Int32" Nullable="false" />
</Function>

エンティティにバインドされた関数

単一の整数 Number パラメーターを持つ account エンティティにバインドされた関数。

<Function Name="EntityBoundFunctionExample" IsBound="true">
    <Parameter Name="entity" Type="mscrm.account" Nullable="false" />
    <Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
    <ReturnType Type="Edm.Int32" Nullable="false" />
</Function>

エンティティ セットにバインドされた関数

単一の整数 Number パラメーターを持つ account EntitySet にバインドされた関数。

<Function Name="EntityCollectionBoundFunctionExample" IsBound="true">
    <Parameter Name="entityset" Type="Collection(mscrm.account)" Nullable="false" />
    <Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
    <ReturnType Type="Edm.Int32" Nullable="false" />
</Function>

オーバーロードされた関数

通常、$metadata で見つかった各関数は、その名前の唯一の関数になります。 ただし、バインドされた関数は、異なるタイプにバインドされるときに複数の定義を持つことができます。 システム RetrieveUnpublishedRetrieveUnpublishedMultiple 関数は例です。 カスタム API を使用してオーバーロードされた関数を作成することはできません。

詳細: オーバーロードした OData 4.0 関数のルール

次の手順

複合型および列挙型について説明します。

参照

Dataverse Web API を使用する
Web API の種類および操作
Web API サービス ドキュメント
Web API EntityTypes
Web API プロパティ
Web API ナビゲーション プロパティ
Web API アクション
Web API の複合型および列挙の種類
OData バージョン 4.0 パート 3: Common Schema Definition Language (CSDL) Plus Errata 03 Element edm:Function

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。