サンプル: 変更の追跡を使用してデータを外部システムに同期

 

公開日: 2016年11月

対象: Dynamics CRM 2015

このサンプル コードは、RetrieveEntityChangesRequest メッセージを使用して、任意のエンティティから変更を取得し、そのデータを外部システムと同期させる方法を示しています。 このサンプルで説明されている機能の詳細については、「変更の追跡を使用してデータを外部システムに同期」を参照してください。

このサンプルは、Microsoft Dynamics CRM Online 2015 更新プログラム 1 向けです。 これは、変更の追跡を使用して、データを外部システムと同期する からダウンロードして利用できます。

前提条件

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

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

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

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

このトピックの内容

このサンプルの概要

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

サンプルの実行

このサンプルの概要

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

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

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

  3. CreateRequiredRecords メソッドは、sample_book エンティティに 10 レコードを生成します。

  4. RetrieveEntityChangesRequest は初めて呼び出されると、初期同期を実行して、バージョン番号とともにエンティティ内のすべてのレコードを取得し、取得したレコードをキャッシュします。

  5. 初期レコードのキャッシュ後、sample_book エンティティ レコードを表示するかどうか要求されます。 "Y" で応答すると、Internet Explorer が開いて、新規に作成されたレコードを示すビューの表示が試みられます。

  6. UpdateRecords メソッドは、sample_book エンティティ内で、新規の 10 レコードを追加し、既存のレコードを更新し、レコードを削除します。

  7. レコードの更新後、ページング情報はリセットされ、キャッシュ オブジェクトが初期化されます。

  8. RetrieveEntityChangesRequest は、もう一度呼び出されると、前回の同期後に更新されたレコードのみを取得します。

  9. 変更の取得後、sample_book エンティティ レコードを表示するかどうか要求されます。 "Y" で応答すると、Internet Explorer が開いて、新規に作成されたレコードを示すビューの表示が試みられます。

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

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

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

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

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

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

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

  3. Visual Studio で、ChangeTrackingSample プロジェクトを右クリックし、[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] を押して、コンソール ウィンドウを閉じます。

関連項目

変更の追跡を使用してデータを外部システムに同期

© 2017 Microsoft. All rights reserved. 著作権