次の方法で共有


組織のサービスのメソッド

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

IOrganizationService Web サービスは、システム エンティティやユーザー定義エンティティと、組織のメタデータに対して、最も一般的な操作を実行する際に使用する一連のメソッドを提供します。 これらの操作は、IOrganizationService.Execute メソッドと、その対応するメッセージを使用して実行することもできます。

作成

IOrganizationService.Create メソッドは、ユーザー定義エンティティを含め、Create メッセージをサポートする任意のエンティティのインスタンス (レコード) を作成する場合に使用します。

取得

IOrganizationService.Retrieve メソッドは、エンティティのインスタンス (レコード) を取得する場合に使用します。

RetrieveMultiple

IOrganizationService.RetrieveMultiple メソッドは、コレクション レコードを取得する場合に使用します。 クエリ式または Fetch XML クエリを使用してクエリを指定できます。

更新プログラム

IOrganizationService.Update メソッドは、既存のレコードを更新する場合に使用します。

削除

IOrganizationService.Delete メソッドは、既存のレコードを削除する場合に使用します。

関連付け

IOrganizationService.Associate メソッドは、関係がある 2 つのレコード間にリンクを作成する場合に使用します。

関連付け解除

IOrganizationService.Disassociate メソッドは、2 つのレコード間のリンクを削除する場合に使用します。

実行

IOrganizationService.Execute メソッドは、メッセージを実行する場合に使用します。 これには、データ レコードおよびメタデータの作成と削除のような一般的な処理が含まれます。また、インポート、重複の検出など、特化された処理であることもあります。

以下のコードは、厳密な型を使用する Create メソッド、Retrieve メソッド、および Update メソッドの使用方法を示しています。


//Define the account for which we will add letters                
Account accountToCreate = new Account
{
    Name = "Example Account"
};

//Define the IDs of the related letters we will create
_letterIds = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };

//This acts as a container for each letter we create. Note that we haven't
//define the relationship between the letter and account yet.
EntityCollection relatedLettersToCreate = new EntityCollection
{
    EntityName = Letter.EntityLogicalName,
    Entities =
    {
        new Letter{Subject = "Letter 1", ActivityId = _letterIds[0]},
        new Letter{Subject = "Letter 2", ActivityId = _letterIds[1]},
        new Letter{Subject = "Letter 3", ActivityId = _letterIds[2]}
    }
};

//Creates the reference between which relationship between Letter and
//Account we would like to use.
Relationship letterRelationship = new Relationship("Account_Letters");

//Adds the letters to the account under the specified relationship
accountToCreate.RelatedEntities.Add(letterRelationship, relatedLettersToCreate);

//Passes the Account (which contains the letters)
_accountId = _service.Create(accountToCreate);

Console.WriteLine("An account and {0} letters were created.", _letterIds.Length);


//Now we run through many of the same steps as the above "Create" example
Account accountToUpdate = new Account
{
    Name = "Example Account - Updated",
    AccountId = _accountId
};

EntityCollection relatedLettersToUpdate = new EntityCollection
{
    EntityName = Letter.EntityLogicalName,
    Entities =
    {
        new Letter{Subject = "Letter 1 - Updated", ActivityId = _letterIds[0]},
        new Letter{Subject = "Letter 2 - Updated", ActivityId = _letterIds[1]},
        new Letter{Subject = "Letter 3 - Updated", ActivityId = _letterIds[2]}
    }
};

accountToUpdate.RelatedEntities.Add(letterRelationship, relatedLettersToUpdate);

//This will update the account as well as all of the related letters
_service.Update(accountToUpdate);
Console.WriteLine("An account and {0} letters were updated.", _letterIds.Length);

関連項目

IOrganizationService
組織サービスを使用したデータまたはメタデータの読み取りと書き込み
Execute メソッドでメッセージ (要求クラスおよび応答クラス) を使用する
大量データ負荷でパフォーマンスを向上させる ExecuteMultiple を使用する
組織サービスにおける xRM メッセージ
組織サービスにおける Dynamics 365 メッセージ
Microsoft Dynamics 365 でユーザーを認証する
サンプル: レコードの作成、取得、更新、および削除 (事前バインド)
サンプル: 作成、取得、更新、および削除 (遅延バインド)

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権