Получить идентификатор контакта, используя идентификатор электронной почты в MS Dynamics CRM - PullRequest
0 голосов
/ 16 мая 2019

Я хочу получить идентификатор контакта, например (3a361fd6-e276-e911-9714-00155d96a17d), используя идентификатор электронной почты контакта в MS Dynamics CRM, используя C #

Может кто-нибудь помочь мне?Ниже приведен мой код

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» не содержитможет быть найдено определение для «Атрибутов» и отсутствует метод расширения «Атрибуты», принимающий первый аргумент типа «Microsoft.Xrm.Sdk.EntityCollection» (отсутствует директива using или ссылка на сборку?)

1 Ответ

2 голосов
/ 16 мая 2019

Вот ошибка для строки кода ниже

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

Причина: вы получаете несколько элементов, т. Е. Это набор сущностей. поэтому вы должны повторить. Ниже я дал вам первый идентификатор контакта, но вы можете просмотреть и получить все 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);

            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...