![](/img/trans.png)
[英]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.