Exemple : Extraire avec une relation un-à-plusieurs
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Configuration requise
Pour plus d'informations sur les conditions requises pour l'exécution de l'exemple de code fourni dans ce Kit de développement logiciel (SDK), consultez la rubrique Utiliser l’exemple de code et le code d’assistance.
Exemple
L’exemple suivant explique comment utiliser la méthode RetrieveMultiple pour retourner les entités associées 1 à N d’une entité avec l’entité principale. Dans cet exemple, nous récupérons un compte et ses tâches associées.
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();
Voir aussi
IOrganizationService
QueryExpression
IOrganizationService
RetrieveMultiple
Générer des requêtes avec QueryExpression
Exemple : Récupération multiple avec la classe QueryByAttribute
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright