[英]Get Id of user currently logged into MS Dynamics CRM 2011 Online
[英]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.