Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Innerhalb des CSDL-$metadata Dokuments finden Function Sie Elemente. Funktionsvorgänge unterscheiden sich von Aktionen, da sie keine Daten ändern sollten. Sie werden in der Regel nur zum Abrufen von Daten verwendet.
Jede Funktion weist ein Name Attribut auf. Dieser Name ist Teil der URL, wenn Sie diese verwenden HTTPGET, und sendet alle definierten Parameter für die Funktion in der URL der Anforderung.
Gebundene Funktionen
Genau wie Aktionen verfügen Funktionen möglicherweise über ein IsBound="true" Attribut. Dies bedeutet, dass es sich um eine gebundene Funktion handelt. Funktionen ohne das IsBound Attribut sind ungebunden. Eine gebundene Funktion bedeutet, dass der erste Parameter ein Verweis auf einen Tabellendatensatz oder einen Entitätssatz ist.
Wenn eine Funktion gebunden ist, wird ein Verweis auf ein bestimmtes Element im Dienstnamespace vorhanden sein. Um die Funktion zu verwenden, müssen Sie den vollqualifizierten Namen einschließlich des Microsoft.Dynamics.CRM Namespaces verwenden. Weitere Informationen: Dienst-Namespace
Komponierbare Funktionen
Funktionen verfügen möglicherweise über ein IsComposable="true" Attribut. Dies bedeutet, dass Sie einige Systemabfrageoptionen wie $filter oder $select an die URL anfügen können, um die zurückgegebenen Ergebnisse anzugeben. Diese Option ist nur für bestimmte Systemfunktionen verfügbar. Sie können keine Funktion mit benutzerdefinierter API erstellen, die verfasst werden kann.
Parameter
Funktionen verfügen in der Regel über ein oder mehrere Parameter Elemente. Jeder Parameter hat die folgenden Attribute:
| Merkmal | Description |
|---|---|
Name |
Der Name des Parameters. Der Name ist einzigartig, es sei denn, das Function ist überladen. Weitere Informationen: Überladene Funktionen. |
Type |
Der Typ von Parameter. |
Nullable="false" |
Gibt an, ob der Parameter einen Nullwert akzeptieren kann. |
ReturnType
Funktionen müssen Werte zurückgeben. Eine Funktion verfügt immer über ein ReturnType Element.
| Merkmal | Description |
|---|---|
Type |
Der Typ von Parameter. |
Nullable="false" |
Gibt an, ob der Wert null sein kann. |
Beispiele für Funktionsdefinitionen
Im Folgenden sind einige fiktive Beispiele für Function Definitionen dargestellt, die unterschiedliche Bindungsmuster zeigen. Jedes dieser Beispiele gibt einen ganzzahligen Wert zurück.
Ungebundene Funktionen
Eine ungebundene Funktion mit einem einzelnen ganzzahligen Number Parameter.
<Function Name="UnBoundFunctionExample">
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Function>
An eine Entität gebundene Funktion
Eine Funktion, die an die account Entität mit einem einzigen ganzzahligen Number Parameter gebunden ist.
<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>
An einen Entitätssatz gebundene Funktion
Eine An das account EntitySet gebundene Funktion mit einem einzelnen ganzzahligen Number Parameter.
<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>
Überladene Funktionen
In der Regel ist jede Funktion, die Sie in der $metadata finden, die einzige Funktion mit diesem Namen. Gebundene Funktionen können jedoch mehrere Definitionen aufweisen, wenn sie an unterschiedliche Typen gebunden sind. Das System RetrieveUnpublished und RetrieveUnpublishedMultiple Funktionen sind einige Beispiele. Sie können keine überladene Funktion mit benutzerdefinierter API erstellen.
Weitere Informationen: OData 4.0-Funktionsüberladungsregeln
Nächste Schritte
Erfahren Sie mehr über komplexe und Enum-Typen.
Siehe auch
Verwenden der Dataverse-Web-API
Web-API-Typen und -Vorgänge
Web-API-Dienstdokumente
Web-API EntityTypes
Web-API-Eigenschaften
Web-API-Navigationseigenschaften
Web-API-Aktionen
Komplexe Web-API- und Enumerationstypen
OData Version 4.0. Teil 3: Common Schema Definition Language (CSDL) Plus Errata 03 Element edm:Function