public Dictionary <string, List <Entity> > GetTargetEntitiesForLookupMatch(IOrganizationService crmService, List <LookupMatchCriteria> lookupMatchCriterias) { Dictionary <string, List <Entity> > entityLookups = new Dictionary <string, List <Entity> >(); Dictionary <string, QueryExpression> queriesToBeProcessed = new Dictionary <string, QueryExpression>(); foreach (LookupMatchCriteria lookupMatchCriteria in lookupMatchCriterias) { QueryExpression queryForLookupMatching = GetQueryForLookupMatching(lookupMatchCriteria); queriesToBeProcessed.Add(lookupMatchCriteria.EntityLogicalName, queryForLookupMatching); } BulkRequest bulkRequest = new BulkRequest(100); BulkResponse bulkResponse = bulkRequest.Read(crmService, queriesToBeProcessed); foreach (BulkResponseItem bulkResponseItem in bulkResponse.Responses) { if (bulkResponseItem.Results != null && bulkResponseItem.Results.Entities != null) { entityLookups.Add(bulkResponseItem.BulkRequestId, bulkResponseItem.Results.Entities.ToList()); } } return(entityLookups); }