2009-12-05 81 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」

相關問題