Лучший способ передать GUID поиска при создании новой сущности возможности - PullRequest
0 голосов
/ 17 июня 2020

У меня есть форма MVC с @Html.TextBox, которую я использую в качестве поля поиска. Мой пользователь может получить список параметров, созданный на основе данных, возвращаемых CRM, когда они нажимают кнопку поиска. Я фиксирую GUID выбранного элемента ... это хорошо.

Как мне отформатировать данные?

Когда мой пользователь отправляет форму, как форматировать GUID так, чтобы создаваемая сущность возможности могла назначить выбранный GUID полю поиска (связанному с контактом)?

Ниже приводится краткий пример того, как я выполняю отправку в CRM. Я отправляю более 70 полей данных. Все поля Picklist, DateTime, String работают, это просто поля Lookup, я пока не могу заставить их работать.

OrganizationServiceClient client = new OrganizationServiceClient();
Microsoft.Xrm.Sdk.Entity ec = new Entity {
    LogicalName = "opportunity"
};
ec.Attributes.Add(new KeyValuePair<string, object>("name", Request.Form["newOppName"]));
ec.Attributes.Add(new KeyValuePair<string, object>("org_managers", Request.Form["selectedGUID"]));
// "org_managers" name for Lookup (simple; dependent on Contact) within Opportunity entity
var OppGUID = await client.CreateAsync(ec);

Я пробовал несколько других методов, основанных на JavaScript а не C#, но ничего не работает.

1 Ответ

1 голос
/ 17 июня 2020

Это называется EntityReference. Он должен быть назначен, как показано ниже:

ec[“org_managers”] = new EntityReference(“contact”, new Guid(Request.Form["selectedGUID"]));

Или

ec.Attributes[“org_managers”] = new EntityReference(“contact”, new Guid(Request.Form["selectedGUID"]));

Или

ec.Attributes.Add(“org_managers”, new EntityReference(“contact”, new Guid(Request.Form["selectedGUID"]));
...