2009-12-05 10 views
2

Je suis en train de développer un outil qui doit lire les données de Microsoft CRM à l'aide de l'API webservice.Microsoft CRM, comment obtenir tous les membres d'une liste en utilisant CrmService?

Je dois obtenir tous les membres d'une liste de marketing. Je peux obtenir toutes les listes dans le système en utilisant le webservice, mais je ne peux pas obtenir les membres d'une liste. Ceci est la requête que j'ai à ce jour, que je peux courir, mais il ne revient pas membres:

QueryExpression qe = new QueryExpression(); 
qe.EntityName = "contact"; 
qe.ColumnSet = new AllColumns(); 

var linkContact = new LinkEntity { 
    LinkFromEntityName = "contact", 
    LinkFromAttributeName = "contactid", 
    LinkToEntityName = "listmember", 
    LinkToAttributeName = "entityid" 
}; 

var linkList = new LinkEntity { 
    LinkFromEntityName = "listmember", 
    LinkFromAttributeName = "entityid", 
    LinkToEntityName = "list", 
    LinkToAttributeName = "listid" }; 

var ce = new ConditionExpression 
      { 
       AttributeName = "listid", 
       Operator = ConditionOperator.Equal, 
       Values = new object[] {list.listid.Value} 
      }; 

linkList.LinkCriteria = new FilterExpression {Conditions = new[] {ce}}; 
linkContact.LinkEntities = new[] {linkList}; 
qe.LinkEntities = new [] {linkContact}; 
var members = service.RetrieveMultiple(qe); 
Console.WriteLine("Members of {0}:", list.listname); 
Assert.IsTrue(members.BusinessEntities.Any()); 

foreach(contact lead in members.BusinessEntities) 
    Console.WriteLine(lead.fullname); 

Comment puis-je obtenir les membres de la liste en utilisant l'API webservice?

+0

C'est exactement ce dont j'avais besoin! Yay!!! – Ekaterina

Répondre

3

Je devine que vous figurés probablement par maintenant, mais quand même ...

var linkList = new LinkEntity { 
      LinkFromEntityName = "listmember", 
      LinkFromAttributeName = "listid", 
      LinkToEntityName = "list", 
      LinkToAttributeName = "listid" }; 

La ligne pertinente est:
LinkFromAttributeName = "listid", contre "EntityID"