Freigeben über


Komplexe Typen und Enumerationstypen (Web API)

Im CSDL-$-Metadatendokument befinden sich ComplexType- und EnumType-Elemente.

Komplexe Typen

Komplexe Typen sind schlüssellose benannte strukturierte Typen, die einen Satz von Eigenschaften enthalten. Komplexe Typen werden als Eigenschaftswerte in Tabellendefinitionen oder als Parameter oder Rückgabewerte für Vorgänge verwendet.

Zum Beispiel gibt WhoAmI Function dies zurück: WhoAmIResponse ComplexType:

<ComplexType Name="WhoAmIResponse">  
  <Property Name="BusinessUnitId" Type="Edm.Guid" Nullable="false" />  
  <Property Name="UserId" Type="Edm.Guid" Nullable="false" />  
  <Property Name="OrganizationId" Type="Edm.Guid" Nullable="false" />  
</ComplexType>

Enumerationstypen

Enumerationstypen nennt man primitive Typen, deren Werte Konstanten mit zugrunde liegenden ganzzahligen Werten lauten.

Es folgt zum Beispiel die Definition des AccessRights EnumType

<EnumType Name="AccessRights">  
  <Member Name="None" Value="0" />  
  <Member Name="ReadAccess" Value="1" />  
  <Member Name="WriteAccess" Value="2" />  
  <Member Name="AppendAccess" Value="4" />  
  <Member Name="AppendToAccess" Value="16" />  
  <Member Name="CreateAccess" Value="32" />  
  <Member Name="DeleteAccess" Value="65536" />  
  <Member Name="ShareAccess" Value="262144" />  
  <Member Name="AssignAccess" Value="524288" />  
</EnumType>

Der Enumerationstyp AccessRights wird für die Eigenschaft AccessMask des PrincipalAccess ComplexType verwendet, mit dem der Parameter PrincipalAccess für die ModifyAccess Action festgelegt wird. Dies ist die Aktion, die zum Ändern des Zugriffs beim Teilen eines Datensatzes verwendet wird.

Im folgenden Beispiel werden die Zugriffsrechte ReadAccess, WriteAccess, DeleteAccess, AppendAccess und AssignAccess auf den account-Datensatz gewährt, der mit dem Parameter Target für den systemuser festgelegt ist, der durch die Eigenschaft Principal des komplexen Typs PrincipalAccess bestimmt wird.

Anforderung:

POST [Organization URI]/api/data/v9.0/ModifyAccess
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json; charset=UTF-8
Accept: application/json

{
    "Target": {
        "accountid": "cbcf8bbc-aa41-ec11-8c62-000d3a53893c",
        "@odata.type": "Microsoft.Dynamics.CRM.account"
    },
    "PrincipalAccess": {
        "Principal": {
            "systemuserid": "8061643d-ebf7-e811-a974-000d3a1e1c9a",
            "@odata.type": "Microsoft.Dynamics.CRM.systemuser"
        },
        "AccessMask": "ReadAccess,WriteAccess,DeleteAccess,AppendAccess,AssignAccess"
    }
}

Antwort:

HTTP/1.1 204 No Content

Nächste Schritte,

Vorgänge mithilfe der Web-API ausführen.

Siehe auch

Internet API-Typen und -Vorgänge
Web API-Servicedokumente
Web API Entitätstypen
Web API-Eigenschaften
Navigationseigenschaften der Web API
Web API-Aktionen
Web API-Funktionen
Dataverse-Web API verwenden
OData Version 4.0. Komplexer Typ
OData Version 4.0. Enumerationstyp

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).