CSDL $metadata ドキュメント内には、ComplexType要素とEnumType要素があります。
複合型
複合型は、一連のプロパティで構成されるキーレスの名前付き構造化型です。 複合型は、通常、テーブル定義のプロパティ値として、または操作のパラメーターまたは戻り値として使用されます。
たとえば、 WhoAmI 関数 は次の WhoAmIResponse 複合型を返します。
<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>
列挙型
列挙型は、基になる整数値を持つ名前付き定数から成る基本型です。
たとえば、次の XML ノードは AccessRights 列挙型の定義です
<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>
AccessRights列挙型は、AccessMaskの プロパティに使用されます。これは、PrincipalAccessの パラメーターを設定するために使用されます。 レコードを共有するときにアクセス権を変更するには、このアクションを使用します。
次の例では、ReadAccess パラメーターで指定されたWriteAccess レコードに対するDeleteAccess、AppendAccess、AssignAccess、account、およびTargetアクセス権を、systemuser複合型の Principal プロパティによって指定されたPrincipalAccessに付与します。
要求:
POST [Organization URI]/api/data/v9.2/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"
}
}
応答:
HTTP/1.1 204 No Content
次のステップ
Web API を使用して操作を実行します。
こちらも参照ください
Web API の種類と操作
Web API サービス ドキュメント
Web API EntityTypes
Web API のプロパティ
Web API のナビゲーション プロパティ
Web API アクション
Web API 関数
Dataverse Web API を使用する
OData バージョン 4.0。 複合型
OData バージョン 4.0 列挙型