Web API 条件付き演算サンプル (C#)

この .NET 6.0 サンプルでは、Dataverse Web API を使用して一般的なデータ演算を実行する方法を示します。

このサンプルでは、WebAPIService クラス ライブラリ (C#) の共通ヘルパー コードを使用します。

注意

この Dataverse 操作のサンプルの実装とコンソール出力は Web API 条件付き演算のサンプルで詳しく説明されています。またコモン C# の構成の使用は Web API のサンプル (C#) で説明されています。

前提条件

これらははこのサンプルの構築および実行に必要となります。

  • Microsoft Visual Studio 2022。
  • データ演算を実行する権限を使用して Dataverse にアクセスします。

このサンプルを実行する方法

  1. PowerApps-サンプル リポジトリをクローンまたはダウンロードします。

  2. /dataverse/webapi/C#-NETx/ConditionalOperations/ フォルダーを見つけます。

  3. Visual Studio 2022 を使用して ConditionalOperations.sln ファイルを開きます

  4. appsettings.json ファイルを編集して、以下のプロパティ値を設定します:

    Property 方法
    Url ご使用の環境の Url。 プレースホルダー https://yourorg.api.crm.dynamics.com の値を環境の値に置き換えます。 開発者リソースを表示 を見て自分の環境の URL を見つけます。
    UserPrincipalName プレースホルダー you@yourorg.onmicrosoft.com の値を環境へのアクセスに使用する UPN の値に置き換えます。
    Password プレースホルダー yourPassword の値を使用するパスワードに置き換えます。
  5. appsettings.json ファイルを保存します

  6. F5 を押してサンプルを実行します。

コード

このサンプルのコードは次のとおりです: PowerApps-Samples/dataverse/webapi/C#-NETx/ConditionalOperations/Program.cs

実際の動作

このサンプルには 4 つのリージョンがあります。

セクション 0: サンプル レコードを作成する

演算:

  • 1 つの取引先企業レコードを作成します。
  • レコードを取得し、ETag 値を initialAcctETagVal として保存します。

セクション 1: 条件 GET

演算:

  1. If-None-Match ヘッダーを initialAcctETagVal 値に設定したレコードの取得を試行します。

    要求は予想通り 304 NotModified で失敗します。

  2. レコード telephone1 列の値を更新します。

  3. If-None-Match ヘッダーを initialAcctETagVal 値に設定したレコードの再取得を試行します。

    初期のE Tag 値が一致しないため、リクエストは成功します。

  4. 新しい ETag 値を updatedAcctETagVal として保存します。

セクション 2: 削除および更新でのオプティミスティック同時実行

演算:

  1. If-Match ヘッダーを initialAcctETagVal 値に設定した元の取引先企業の削除を試行します。

    要求は予想通り 412 PreconditionFailed で失敗します。

  2. If-Match ヘッダーを initialAcctETagVal 値に設定した元の取引先企業の更新を試行します。

    要求は予想通り 412 PreconditionFailed で失敗します。

  3. If-Match ヘッダーを updatedAcctETagVal 値に設定した元の取引先企業の更新を試行します。

    ETag 値がレコードの現在の値と一致するため、リクエストは成功します。

セクション 3: サンプル レコードを削除する

操作: このサンプルで作成された各レコードへの参照は、作成時にリストに追加されました。 このセクションでは、$batch 要求を送信してレコードを削除します。

クリーンアップ

デフォルトでは、このサンプルでは作成されたすべてのレコードが削除されます。 サンプルの完了後に作成されたレコードを表示したい場合は、deleteCreatedRecords 変数を false に変更して、レコードを削除するかどうかを決定するプロンプトが表示されます。

参照

Web API を使用する条件付き演算を実行する
Dataverse Web API を使用する
WebAPIService クラス ライブラリ (C#)
Web API のサンプル
Web API 基本操作のサンプル (C#)
Web API クエリ データのサンプル (C#)
Web API 機能およびアクションのサンプル (C#)
Web API テーブル スキーマ操作サンプル (C#)
Web API WebApiService の並列演算のサンプル (C#)
TPL データフロー コンポーネントを使用した Web API 並列演算のサンプル (C#)

注意

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

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