Voorbeeld: Meerdere ophalen met de QueryExpression-klasse
Gepubliceerd: november 2016
Is van toepassing op: Dynamics CRM 2015
Vereisten
Voor meer informatie over de vereisten voor het uitvoeren van de voorbeeldcode in deze SDK, zie Het voorbeeld en de helpercode gebruiken.
Voorbeeld
Dit voorbeeld toont hoe u meerdere entiteiten ophaalt met de methode RetrieveMultiple met QueryExpression, samen met de gerelateerde entiteitkolommen. De code retourneert kolommen uit de primaire accountrecord en de voornaam en achternaam van de primaire contactpersonen die aan het account zijn gekoppeld.
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"]);
}
}
Zie ook
IOrganizationService
RetrieveMultiple
QueryExpression
QueryExpression
De klasse QueryExpression gebruiken
Bouw query's met QueryExpression
Voorbeeld: Query's converteren tussen QueryExpression en Fetch
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht