事前バインドされたエンティティ クラスを使用して関連レコード間の関連付けを追加または更新する
公開日: 2017年1月
対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
Microsoft Dynamics 365 (オンラインおよび設置型) では、いくつかの方法で事前バインドを使用して関連付けを作成できます。 一対多の関連付けを作成する場合は、AddLink クラスの OrganizationServiceContext メソッドを使用できます。 多対多の関連付けを作成する場合は、Associate クラスの IOrganizationService メソッドを使用して関連付けを作成できます。 また、新しいソース エンティティの主キーに一致するように対象エンティティの外部キーを更新して、関連付けを作成することもできます。
関連付けを削除する場合は、DeleteLink クラスの OrganizationServiceContext メソッドまたは Disassociate メソッドを使用できます。 また、外部キーを null に設定することもできます。
関連付けの追加と削除の方法を示す完全なサンプルについては、「サンプル: レコードの関連付け (事前バインド)」を参照してください。
AddLink メソッドの使用
AddLink メソッドを使用して、関連付けを作成できます。 新しいリンク情報によってサーバーが更新される前に、SaveChanges メソッドを呼び出す必要があります。
次のコード例は、取引先担当者と取引先企業の間に関連付けを作成する方法を示しています。
Relationship relationship = new Relationship("account_primary_contact");
context.AddLink(contact, relationship, account);
context.SaveChanges();
Associate メソッドの使用
一対多と多対多の両方の関連付けを作成するには、Associate メソッドを使用します。 次のコード例は、取引先企業と取引先担当者の間に一対多の関連付けを作成する方法を示しています。
Relationship relationship2 = new Relationship("account_primary_contact");
EntityReferenceCollection relatedEntities = new EntityReferenceCollection();
relatedEntities.Add(new EntityReference(Account.EntityLogicalName, firstaccount.Id));
_serviceProxy.Associate(Contact.EntityLogicalName, firstcontact.Id, relationship2, relatedEntities);
関連項目
コードでの事前バインド型エンティティ クラスの使用
事前バインド エンティティと遅延バインド エンティティの組み合わせ
作成、更新、および削除の事前バインド エンティティ クラスの使用
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 著作権