2009-12-05 78 views
2

我正在开发一个工具,需要使用webservice API从Microsoft CRM中读取数据。Microsoft CRM,如何使用CrmService获取列表的所有成员?

我需要一个市场营销列表中的所有成员。我可以使用web服务获取系统中的所有列表,但我无法获得列表的成员。这是查询我到目前为止,我可以运行,但它不返回任何成员:

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); 

我怎样才能使用Web服务API列表的成员?

+0

这正是我需要的!好极了!!! – Ekaterina 2010-12-08 09:26:39

回答

3

我猜你可能想通了现在,但无论如何...

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

相关线上:
LinkFromAttributeName = “listid”, 与 “ENTITYID”

相关问题