サンプル: 変更の追跡を使用してデータを外部システムに同期
公開日: 2016年11月
対象: Dynamics CRM 2015
このサンプル コードは、RetrieveEntityChangesRequest メッセージを使用して、任意のエンティティから変更を取得し、そのデータを外部システムと同期させる方法を示しています。 このサンプルで説明されている機能の詳細については、「変更の追跡を使用してデータを外部システムに同期」を参照してください。
このサンプルは、Microsoft Dynamics CRM Online 2015 更新プログラム 1 向けです。 これは、変更の追跡を使用して、データを外部システムと同期する からダウンロードして利用できます。
前提条件
Microsoft Dynamics CRM Online 2015 更新プログラム 1 組織へのアクセス権を取得します。
ChangeTrackingSample Visual Studio プロジェクトをダウンロードします。
ChangeTrackingSample Visual Studio プロジェクトを開き、Microsoft.CrmSdk.CoreAssemblies バージョン 7.1.0-preview NuGet Package をインストールします。 手順については、「NuGet パッケージのインストール」を参照してください。
NuGet パッケージのインストール後、サンプルの実行方法と何をするかの指示については、サンプルの実行 を参照してください。
このトピックの内容
このサンプルの概要
ChangeTrackingSample クラスの Run メソッドは 、ChangeTrackingSample 管理ソリューションがインストール済みであるかどうかを最初に検出する ImportChangeTrackingSolution メソッドを呼び出します。 インストールがまだの場合は、この管理ソリューションをインストールするために ChangeTrackingSample_1_0_0_0_managed.zip ファイルがインポートされます。
この管理ソリューションには、このサンプルによって使用される sample_book ユーザー定義エンティティが含まれています。 このエンティティには、この属性に格納される値に一意の制約を与える sample_bookcode 代替キーがあります。
ChangeTrackingSample のインストールの直後にこのサンプルに必要な代替キーが用意されていない場合があるので、WaitForEntityAndKeysToBeActive メソッドが必要になります。 このメソッドは、代替キーが使用できるようになるまで、sample_book エンティティのメタデータをポーリングして、サンプルの残りの部分の実行を遅らせます。
CreateRequiredRecords メソッドは、sample_book エンティティに 10 レコードを生成します。
RetrieveEntityChangesRequest は初めて呼び出されると、初期同期を実行して、バージョン番号とともにエンティティ内のすべてのレコードを取得し、取得したレコードをキャッシュします。
初期レコードのキャッシュ後、sample_book エンティティ レコードを表示するかどうか要求されます。 "Y" で応答すると、Internet Explorer が開いて、新規に作成されたレコードを示すビューの表示が試みられます。
UpdateRecords メソッドは、sample_book エンティティ内で、新規の 10 レコードを追加し、既存のレコードを更新し、レコードを削除します。
レコードの更新後、ページング情報はリセットされ、キャッシュ オブジェクトが初期化されます。
RetrieveEntityChangesRequest は、もう一度呼び出されると、前回の同期後に更新されたレコードのみを取得します。
変更の取得後、sample_book エンティティ レコードを表示するかどうか要求されます。 "Y" で応答すると、Internet Explorer が開いて、新規に作成されたレコードを示すビューの表示が試みられます。
最後に、DeleteChangeTrackingSampleSolution は、ChangeTrackingSample 管理ソリューションの削除を求めるメッセージを表示します。
"Y " を選択すると、管理ソリューションと、それに含まれる sample_book エンティティおよびそのエンティティ内のすべてのデータが削除されます。 組織には、追加されたものは残りません。
"N" を選択すると、このサンプルによって作成されたデータを含む、ソリューションの詳細を確認できます。 しかし、組織を元の状態に戻すには、管理ソリューションを手動で削除する必要があります。
NuGet パッケージのインストール
このサンプルに必要なアセンブリをインストールするには、次の手順を使用します。
このサンプルをダウンロードし、ファイルを抽出します。
C# フォルダーに移動し、Visual Studio で、ChangeTrackingSample.sln ファイルを開きます。
Visual Studio で、ChangeTrackingSample プロジェクトを右クリックし、[NuGet Packages の管理] を選択します。
プレビューのリリースの場合は、検索条件に [安定版のみ] ではなく、かならず [プレリリースを含める] を選択してください。 次に、"Microsoft Dynamics CRM 2015 SDK core assemblies" を検索します。7.1.0-preview バージョンを選択していることを確認します。
[インストール] をクリックします。 このパッケージのインストールを実行するには、ライセンス条項に同意する必要があります。
サンプルの実行
Visual Studio で、ソリューションを開き、NuGet パッケージがインストールされた状態で、F5 キーを押します。
以前に、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 です。これは一覧の最初の組織を示します。
このサンプルは、このサンプルの概要 に説明されている操作を実行しますが、追加のオプションの実行を求められることがあります。
サンプルが完了したら、[Enter] を押して、コンソール ウィンドウを閉じます。
関連項目
© 2017 Microsoft. All rights reserved. 著作権