Del via


Eksempel: Hent flere med klassen QueryExpression

 

Udgivet: november 2016

Gælder for: Dynamics CRM 2015

Krav

Du kan finde flere oplysninger om kravene til kørsel af den eksempelkode, der findes i denne SDK, under Brug eksempel- og hjælpekoden.

Eksempel

I dette eksempel vises, hvordan du kan hente flere objekter ved hjælp af metoden RetrieveMultiple med QueryExpression sammen med deres enhed relaterede kolonner. Koden returnerer kolonner fra den primære firmapost samt fornavn og efternavn på de primære kontaktpersoner, der er tilknyttet firmaet.

static void RetrieveMultipleWithRelatedEntityColumns()
{
    Console.WriteLine("Entering:RetrieveMultipleWithRelatedEntityColumns");
    //Create multiple accounts with primary contacts
    Entity contact = new Entity("contact");
    contact.Attributes["firstname"] = "ContactFirstName";
    contact.Attributes["lastname"] = "ContactLastName";
    Guid contactId = _orgService.Create(contact, null);

    Entity account = new Entity("account");
    account["name"] = "Test Account1";
    EntityReference primaryContactId = new EntityReference("contact", contactId);
    account["primarycontactid"] = primaryContactId;

    Guid accountId1 = _orgService.Create(account, null);
    account["name"] = "Test Account2";
    Guid accountId2 = _orgService.Create(account, null);
    account["name"] = "Test Account3";
    Guid accountId3 = _orgService.Create(account, null);

    //Create a query expression specifying the link entity alias and the columns of the link entity that you want to return
    QueryExpression qe = new QueryExpression();
    qe.EntityName = "account";
    qe.ColumnSet = new ColumnSet();
    qe.ColumnSet.Columns.Add("name");

    qe.LinkEntities.Add(new LinkEntity("account", "contact", "primarycontactid", "contactid", JoinOperator.Inner));
    qe.LinkEntities[0].Columns.AddColumns("firstname", "lastname");
    qe.LinkEntities[0].EntityAlias = "primarycontact";

    EntityCollection ec = _orgService.RetrieveMultiple(qe);

    Console.WriteLine("Retrieved {0} entities", ec.Entities.Count);
    foreach (Entity act in ec.Entities)
    {
       Console.WriteLine("account name:" + act["name"]);
       Console.WriteLine("primary contact first name:" + act["primarycontact.firstname"]);
       Console.WriteLine("primary contact last name:" + act["primarycontact.lastname"]);
    }
}

Se også

IOrganizationService
RetrieveMultiple
QueryExpression
QueryExpression
Bruge klassen QueryExpression
Oprette forespørgsler med QueryExpression
Eksempel: Konvertere forespørgsler mellem Fetch og QueryExpression

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret