簡體   English   中英

使用MS Dynamics CRM中的電子郵件ID檢索聯系人ID

[英]Retrieve contact id using email id in MS Dynamics CRM

我想使用C#在MS Dynamics CRM中使用聯系人的電子郵件ID來檢索聯系人ID,例如(3a361fd6-e276-e911-9714-00155d96a17d)

有人可以幫幫我嗎? 下面是我的代碼

Uri UrlCrm = new Uri(CRMUrl);
String UserLogin = Domain + "\\" + Username;
String password = Password;
ClientCredentials credentials = new ClientCredentials();

credentials.Windows.ClientCredential.UserName = UserLogin;
credentials.Windows.ClientCredential.Password = password;
OrganizationServiceProxy serverProxy = new OrganizationServiceProxy(UrlCrm, null, credentials, null);

IOrganizationService service;
service = (IOrganizationService)serverProxy;

QueryExpression query = new QueryExpression("contact");
    string[] cols = { "contactid", "emailaddress1" };
    query.Criteria = new FilterExpression();
    query.Criteria.AddCondition("emailaddress1", ConditionOperator.Equal, "Divakar.Ragupathy8@sqs.com");
    query.ColumnSet = new ColumnSet(cols);
    var contact = service.RetrieveMultiple(query);
    //Entity contact = new Entity("contact");
    Guid contactId = (Guid)contact.Attributes["contactid"];

GuidKey = contactId.ToString();

我收到以下錯誤:

說明:第20行出現編譯器錯誤:“ Microsoft.Xrm.Sdk.EntityCollection”不包含“屬性”的定義,並且沒有擴展方法“ Attributes”接受類型為“ Microsoft.Xrm.Sdk.EntityCollection”的第一個參數找到(您是否缺少using指令或程序集引用?)

這是下面代碼行的錯誤

Guid contactId = (Guid)contact.Attributes["contactid"];

原因:您正在檢索多個,即它是實體集合。 所以你應該迭代。 在下面,我給了您第一個聯系ID,但是您可以遍歷並獲取所有ContactId

正確的代碼:

if(contact.Entities.Count>0){
 Guid contactId = contact.Entities[0].Id;
}

現在,如果您需要所有的conatcId,這里是另外一個代碼段

foreach (Entity con in contact.Entities)
                {
                    Console.WriteLine("Contact ID is: " + con.ID);

            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM