Compartilhar via


Exemplo: Recuperar com o relacionamento um-para-muitos

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Requisitos

Para obter mais informações sobre os requisitos necessários à execução do código de exemplo fornecido neste SDK, consulte Usar o código de exemplo e auxiliar.

Exemplo

O exemplo a seguir mostra como usar o método RetrieveMultiple para retornar as entidades relacionadas 1:N de uma entidade junto com a entidade primária. Neste exemplo, recuperamos uma conta e suas tarefas relacionadas.

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();

Confira Também

IOrganizationService
QueryExpression
IOrganizationService
RetrieveMultiple
Criar consultas com QueryExpression
Exemplo: Recuperar um múltiplo com a classe QueryByAttribute

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais