AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.07.2009, 20:40   #1  
alsherin is offline
alsherin
Участник
 
62 / 11 (1) +
Регистрация: 23.06.2009
? Преобразование Key->Guid
Для получения выборки ссылочной сущности (отношение N:1) по списку Id основной сущности в запрос нужно передавать эти Id в виде Guid-ов. Guid-ы извлекаются из выборки записей основной сущности, где они содержаться в атрибуте первичного ключа (PK). Это атрибут имеет тип Microsoft.Crm.Sdk.Key и напрямую в Guid никак не хочет преобразовываться. Пришлось применитть 2-х шаговое преобразование с использованием промежуточных переменных:

Код:
ce = new ConditionExpression();
ce.AttributeName = "new_primaryobjectreference";
ce.Operator = ConditionOperator.In;
ce.Values = new Object[result.BusinessEntityCollection.BusinessEntities.Count];
Key dekey;
Guid deid = new Guid();

for (int i = 0; i < result.BusinessEntityCollection.BusinessEntities.Count; i++)
{
   de = (DynamicEntity)result.BusinessEntityCollection.BusinessEntities[i];
   dekey = de.Properties["new_primaryobjectid"] as Key;
   deid = dekey.Value;
   ce.Values[i] = deid;
}
Решение не самое элегантное, но иначе мне никак не удавалось произвести необходимое преобразование - все время вылетала ошибка. Ким еще образом можно (или нужно) это сделать?

В начале я вообще не думал, что нужно будет делать какие-либо преобразования. Для передачи значений создал универсальный массив generic-объектов, в который просто сохранял список ключей. Но при выполении запроса CRM ругался: "ты подсунул Key туда где нужен Guid" и пришлось искать способ привести значения к нужному типу.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
tekoppele: Longer Support Timelines for Key Microsoft Dynamics Service Packs Blog bot Dynamics CRM: Blogs 0 25.06.2009 14:05
Jim Wang: CRM 4.0 Get attribute value from entity's GUID using JScript Blog bot Dynamics CRM: Blogs 0 11.02.2009 06:05
Мир CRM: The key specified to compute a hash value is expired, only active keys are valid Blog bot Dynamics CRM: Blogs 0 30.07.2008 20:05
Обновление CRM 1.2->3.0->4.0 maxim_ufa Dynamics CRM: Администрирование 8 24.07.2008 13:39
Определение GUID родительской сушъности faust911 Dynamics CRM: Разработка 4 12.07.2006 08:59

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:54.