C# 在MS Dynamics CRM中使用电子邮件id检索联系人id
我想使用C在MS Dynamics CRM中使用联系人的电子邮件id检索联系人id,例如(3a361fd6-e276-e911-9714-00155d96a17d)# 有人能帮我吗?下面是我的代码C# 在MS Dynamics CRM中使用电子邮件id检索联系人id,c#,dynamics-crm,C#,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 ClientCreden
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”的第一个参数的扩展方法“Attributes”(是否缺少using指令或程序集引用?)
下面是代码行的错误
Guid contactId = (Guid)contact.Attributes["contactid"];
原因:您正在检索多个,即它是实体集合。所以你应该迭代。下面我已经给了你第一个联系人Id,但你可以循环并获得所有联系人Id
正确代码:
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);
}