サンプル: Upsert を使用してレコードを挿入または更新
公開日: 2016年11月
対象: Dynamics CRM 2015
このサンプルは、Upsert メッセージを使用して、レコードを挿入または更新する方法を示します。 このサンプルで説明されている機能の詳細については、「Upsert を使用してレコードを挿入または更新」を参照してください。
このサンプルは、Microsoft Dynamics CRM Online 2015 更新プログラム 1 向けです。 これは、Upsert を使用してレコードを挿入または更新する からダウンロードできます。
前提条件
Microsoft Dynamics CRM Online 2015 更新プログラム 1 組織へのアクセス権を取得します。
UpsertSample Visual Studio プロジェクトをダウンロードします。
UpsertSample Visual Studio プロジェクトを開き、Microsoft.CrmSdk.CoreAssemblies バージョン 7.1.0-preview NuGet Package をインストールします。 手順については、「NuGet パッケージのインストール」を参照してください。
NuGet パッケージのインストール後、サンプルの実行方法と何をするかの指示については、サンプルの実行 を参照してください。
このトピックの内容
このサンプルの概要
NuGet パッケージのインストール
サンプルの実行
このサンプルの概要
ProductUpsertSample クラスの Run メソッドは 、UpsertSample 管理ソリューションがインストール済みであるかどうかを最初に検出する ImportUpsertSampleSolution メソッドを呼び出します。 まだインストールされていない場合は、この管理ソリューションをインストールするために UpsertSample_1_0_0_0_managed.zip ファイルがインポートされます。
この管理ソリューションには、このサンプルによって使用される sample_product ユーザー定義エンティティが含まれています。 このエンティティには、この属性に格納される値に一意の制約を与える sample_productcode 代替キーがあります。
UpsertSample のインストールの直後にこのサンプルに必要な代替キーが用意されていない場合があるので、WaitForEntityAndKeysToBeActive メソッドが必要になります。 このメソッドは、代替キーが使用できるようになるまで、sample_product エンティティのメタデータをポーリングして、サンプルの残りの部分の実行を遅らせます。
ProcessUpsert メソッドは、初めて呼び出されたとき、newsampleproduct.xml ファイル内のデータを処理して、新しい製品を表します。UpsertRequest が Execute メソッドに渡されて、13 の新しいレコードが作成されます。
UpsertResponse.RecordCreated プロパティは、新しいレコードを作成されたことを示すために true を返します。
ProcessUpsert メソッドが完了する前に、このプログラムは、サンプル製品のエンティティ レコードを表示するかどうかをユーザーに確認します。 "Y" で応答すると、Internet Explorer が開いて、新規に作成されたレコードを示すビューの表示が試みられます。
ProcessUpsert メソッドは、次に呼び出されたとき、updatedsampleproduct.xml ファイル内のデータを処理して、以前に作成した製品の変更を表します。Upsert メッセージが、6 つのレコードの更新に使用されます。UpsertResponse.RecordCreated プロパティは、レコードが変更されたことを示す false を返します。
ふたたび、ProcessUpsert メソッドは、ブラウザーでレコードを表示するかどうかをユーザーに確認します。 ビューをすでに開いていた場合は、ビューを更新して変更を確認できます。
最後に、DeleteUpsertSampleSolution は、Upsert Sample 管理ソリューションの削除を求めるメッセージを表示します。
"Y " を選択すると、管理ソリューションと、それに含まれる sample_product エンティティおよびそのエンティティ内のすべてのデータが削除されます。 組織には、追加されたものは残りません。
"N" を選択すると、このサンプルによって作成されたデータを含む、ソリューションの詳細を確認できます。 しかし、組織を元の状態に戻すには、管理ソリューションを手動で削除する必要があります。
NuGet パッケージのインストール
このサンプルに必要なアセンブリをインストールするには、次の手順を使用します。
このサンプルをダウンロードし、ファイルを抽出します。
C# フォルダーに移動し、Visual Studio で、UpsertSample.sln ファイルを開きます。
Visual Studio で、UpsertSample プロジェクトを右クリックし、[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. 著作権