Sample: Retrieve Multiple with Query Expression
Dynamics CRM 2011
[Applies to: Microsoft Dynamics CRM 2011]
RetrieveMultiple
QueryExpression
QueryExpression
Requirements
For more information about the requirements for running the sample code provided in this SDK, see Use the Sample and Helper Code.
Example
This sample shows how to retrieve multiple entities using the RetrieveMultiple method with QueryExpression along with their related entity columns. The code returns columns from the primary account record as well as the firstname and lastname of the primary contacts associated with the account.
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"]); } }
See Also
Reference
IOrganizationServiceRetrieveMultiple
QueryExpression
QueryExpression
Concepts
Use the QueryExpression ClassOther Resources
Build Queries with QueryExpressionMicrosoft Dynamics CRM 2011
Send comments about this topic to Microsoft.
© 2013 Microsoft Corporation. All rights reserved.
Community Additions
ADD
Show: