サンプル: Upsert を使用してレコードを挿入または更新
このサンプル コードは、UpsertRequest メッセージを使用してレコードを挿入または更新する方法を示します。 サンプルは ここ からダウンロードできます。
Note
このサンプルは、Dynamics 365 Customer Engagement (on-premises) と Dataverse の両方に適用されます。
このサンプルを実行する方法
すべてのサンプルのローカル コピーを取得してビルドするには、次の手順を実行します。
- サンプル リポジトリをダウンロードまたは複製して、ローカル コピーを用意します。
- (オプション) dataverse/App.config ファイルを編集して、接続先のインスタンスまたは組織を指定した接続文字列を定義します。
- サンプル ソリューションを Visual Studio で開き、F5 キーを押してサンプルを実行します。 Dataverse/App.config 内に接続文字列を指定した後、サンプルを実行すると、その接続情報が使用されます。
dataverse/App.config ファイル内に接続文字列を指定しない場合は、サンプルを実行するたびにダイアログが開き、接続先のインスタンスまたは組織についての情報と、使用する資格情報についての情報を入力する必要があります。 このダイアログには以前の接続がキャッシュされているため、以前に使用した接続を選ぶことができます。
このサンプルの概要
UpsertRequest
メッセージは、レコードの更新または挿入を行う必要があるデータが含まれているシナリオで使用するためのものです。
このサンプルがどのように動作するか
このサンプルは何をするか で説明されているシナリオをシミュレートするために、サンプルは次のことを行います:
セットアップ
- 組織の現在のバージョンをチェックします。
sample_productcode
という名前の代替キーを持つsample_product
エンティティを作成するマネージド ソリューション (UpsertSample_1_0_0_0_managed.zip) をインポートします。 代替キーをサポートするインデックスが有効であることを確認します。
使用方法
ProcessUpsert
メソッドは、newsampleproduct.xml
内のデータを処理して新しい製品を表し、新しく 13 レコードを作成します。ProcessUpsert
メソッドが二回目に呼び出されたとき、updatedsampleproduct.xml
ファイル内のデータを処理して、以前に作成した製品の変更を表します。UpsertRequest
メソッドは、6 つの更新されたレコードを作成します。
クリーン アップ
セットアップ で作成されたマネージド ソリューションを削除するためのオプションを表示します。 サンプルで作成されるエンティティおよびデータを検証する場合、削除は任意です。 手動でレコードを削除することで同じ結果を得られます。