サンプル: Upsert を使用してレコードを挿入または更新

 

公開日: 2016年11月

対象: Dynamics CRM 2015

このサンプルは、Upsert メッセージを使用して、レコードを挿入または更新する方法を示します。 このサンプルで説明されている機能の詳細については、「Upsert を使用してレコードを挿入または更新」を参照してください。

このサンプルは、Microsoft Dynamics CRM Online 2015 更新プログラム 1 向けです。 これは、Upsert を使用してレコードを挿入または更新する からダウンロードできます。

前提条件

  1. Microsoft Dynamics CRM Online 2015 更新プログラム 1 組織へのアクセス権を取得します。

  2. UpsertSample Visual Studio プロジェクトをダウンロードします。

  3. UpsertSample Visual Studio プロジェクトを開き、Microsoft.CrmSdk.CoreAssemblies バージョン 7.1.0-preview NuGet Package をインストールします。 手順については、「NuGet パッケージのインストール」を参照してください。

  4. NuGet パッケージのインストール後、サンプルの実行方法と何をするかの指示については、サンプルの実行 を参照してください。

このトピックの内容

このサンプルの概要

NuGet パッケージのインストール

サンプルの実行

このサンプルの概要

  1. ProductUpsertSample クラスの Run メソッドは 、UpsertSample 管理ソリューションがインストール済みであるかどうかを最初に検出する ImportUpsertSampleSolution メソッドを呼び出します。 まだインストールされていない場合は、この管理ソリューションをインストールするために UpsertSample_1_0_0_0_managed.zip ファイルがインポートされます。

    この管理ソリューションには、このサンプルによって使用される sample_product ユーザー定義エンティティが含まれています。 このエンティティには、この属性に格納される値に一意の制約を与える sample_productcode 代替キーがあります。

  2. UpsertSample のインストールの直後にこのサンプルに必要な代替キーが用意されていない場合があるので、WaitForEntityAndKeysToBeActive メソッドが必要になります。 このメソッドは、代替キーが使用できるようになるまで、sample_product エンティティのメタデータをポーリングして、サンプルの残りの部分の実行を遅らせます。

  3. ProcessUpsert メソッドは、初めて呼び出されたとき、newsampleproduct.xml ファイル内のデータを処理して、新しい製品を表します。UpsertRequestExecute メソッドに渡されて、13 の新しいレコードが作成されます。

    UpsertResponse.RecordCreated プロパティは、新しいレコードを作成されたことを示すために true を返します。

    ProcessUpsert メソッドが完了する前に、このプログラムは、サンプル製品のエンティティ レコードを表示するかどうかをユーザーに確認します。 "Y" で応答すると、Internet Explorer が開いて、新規に作成されたレコードを示すビューの表示が試みられます。

  4. ProcessUpsert メソッドは、次に呼び出されたとき、updatedsampleproduct.xml ファイル内のデータを処理して、以前に作成した製品の変更を表します。Upsert メッセージが、6 つのレコードの更新に使用されます。UpsertResponse.RecordCreated プロパティは、レコードが変更されたことを示す false を返します。

    ふたたび、ProcessUpsert メソッドは、ブラウザーでレコードを表示するかどうかをユーザーに確認します。 ビューをすでに開いていた場合は、ビューを更新して変更を確認できます。

  5. 最後に、DeleteUpsertSampleSolution は、Upsert Sample 管理ソリューションの削除を求めるメッセージを表示します。

    "Y " を選択すると、管理ソリューションと、それに含まれる sample_product エンティティおよびそのエンティティ内のすべてのデータが削除されます。 組織には、追加されたものは残りません。

    "N" を選択すると、このサンプルによって作成されたデータを含む、ソリューションの詳細を確認できます。 しかし、組織を元の状態に戻すには、管理ソリューションを手動で削除する必要があります。

NuGet パッケージのインストール

このサンプルに必要なアセンブリをインストールするには、次の手順を使用します。

  1. このサンプルをダウンロードし、ファイルを抽出します。

  2. C# フォルダーに移動し、Visual Studio で、UpsertSample.sln ファイルを開きます。

  3. Visual Studio で、UpsertSample プロジェクトを右クリックし、[NuGet Packages の管理] を選択します。

  4. プレビューのリリースの場合は、検索条件に [安定版のみ] ではなく、かならず [プレリリースを含める] を選択してください。 次に、"Microsoft Dynamics CRM 2015 SDK core assemblies" を検索します。7.1.0-preview バージョンを選択していることを確認します。

  5. [インストール] をクリックします。 このパッケージのインストールを実行するには、ライセンス条項に同意する必要があります。

サンプルの実行

  1. Visual Studio で、ソリューションを開き、NuGet パッケージがインストールされた状態で、F5 キーを押します。

  2. 以前に、Microsoft Dynamics CRM マネージド コードのいずれも実行していない場合は、コードを実行するための情報を入力する必要があります。そうでない場合は、すでに設定済みの CRM サーバーの 1 つに対する数字を入力します。

    プロンプト

    説明

    CRM サーバーの名前とポート [crm.dynamics.com] を入力してください

    Microsoft Dynamics CRM Server の名前を入力します。 北米では、既定は Microsoft Dynamics CRM Online (crm.dynamics.com) です。

    例:
    crm5.dynamics.com

    この組織は Microsoft Online Services でプロビジョニングされていますか (y/n) [n]

    Microsoft Online Services でプロビジョニングされている組織の場合は、y を入力します。 その他の場合、n を入力します。

    domain\username を入力してください

    Microsoft アカウントを入力します。

    パスワードを入力してください

    パスワードを入力します。 文字はウィンドウに "*" で表示されます。 パスワードは、後で再利用できるように Microsoft Credential Manager で安全に保存されます。

    組織番号を指定してください (1-n) [1]

    組織の一覧から、所属する組織に該当する番号を入力します。 既定値は 1 です。これは一覧の最初の組織を示します。

  3. このサンプルは、このサンプルの概要 に説明されている操作を実行しますが、追加のオプションの実行を求められることがあります。

  4. サンプルが完了したら、[Enter] を押して、コンソール ウィンドウを閉じます。

関連項目

Upsert を使用してレコードを挿入または更新

© 2017 Microsoft. All rights reserved. 著作権