サンプル: 一対多関連付けでの取得
公開日: 2016年11月
対象: Dynamics CRM 2015
要件
この SDK で提供するサンプル コードを実行するために必要な要件については、「サンプルとヘルパー コードの使用」を参照してください。
例
次のサンプルは、RetrieveMultiple メソッドを使用して、あるエンティティの 1:N (1 対多) の関連エンティティと、主エンティティを返す方法を示したものです。 この例では、取引先企業とその関連タスクを取得します。
Console.WriteLine("One-to-many Query using RetrieveMultiple");
Console.WriteLine();
//Create an account and three related tasks
Account account = new Account();
account.Name = "SDK Test Account";
Guid acctId = _serviceProxy.Create(account);
Console.WriteLine("New account created.");
Console.WriteLine();
Task task1 = new Task();
task1.Subject = "Test Task1";
task1.RegardingObjectId = new EntityReference("account", acctId);
Guid task1Id = _serviceProxy.Create(task1);
Task task2 = new Task();
task2.Subject = "Test Task2";
task2.RegardingObjectId = new EntityReference("account", acctId);
Guid task2Id = _serviceProxy.Create(task2);
Task task3 = new Task();
task3.Subject = "Test Task3";
task3.RegardingObjectId = new EntityReference("account", acctId);
Guid task3Id = _serviceProxy.Create(task2);
Console.WriteLine("Three tasks created.");
Console.WriteLine();
// Construct query
// Condition where task attribute equals account id.
ConditionExpression condition = new ConditionExpression();
condition.AttributeName = "regardingobjectid";
condition.Operator = ConditionOperator.Equal;
condition.Values.Add(acctId.ToString());
//Create a column set.
ColumnSet columns = new ColumnSet("subject");
// Create query expression.
QueryExpression query1 = new QueryExpression();
query1.ColumnSet = columns;
query1.EntityName = "task";
query1.Criteria.AddCondition(condition);
EntityCollection result1 = _serviceProxy.RetrieveMultiple(query1);
foreach (var r in result1.Entities)
{
Console.WriteLine(r.Attributes["subject"]);
};
Console.WriteLine("-------------------------------");
Console.WriteLine();
関連項目
IOrganizationService
QueryExpression
IOrganizationService
RetrieveMultiple
QueryExpression でクエリを作成する
サンプル: QueryByAttribute クラスを使用した複数取得
© 2017 Microsoft. All rights reserved. 著作権