Я конвертировал некоторые из моих плагинов CRM4.0 для использования CRM2011 SDK.Я только начинаю работать с LINQ для ранних объектов и столкнулся с проблемой.
Я пытаюсь получить отформатированное значение OptionSetValue в объединенном объекте.Посмотрев в этом примере MSDN SDK Query , мне удалось получить отформатированные значения для основного объекта, но, похоже, я не могу перевести это в объединенный объект.
Приведенный ниже код является примером того, чего я пытаюсь достичь.Я начал с использования кода из примера SDK.
var query_join8 = (from a in sContext.AccountSet
join c in sContext.ContactSet
on a.PrimaryContactId.Id equals c.ContactId
into gr
from c_joined in gr.DefaultIfEmpty()
select new
{
contact_name = c_joined.FullName,
account_name = a.Name,
account_addresstypecode = a.Address1_AddressTypeCode,
account_addresstypename = a.FormattedValues.ContainsKey("address1_addresstypecode") ? a.FormattedValues["address1_addresstypecode"] : null,
account_formattedValues = a.FormattedValues,
contact_addresstypecode = c_joined.Address1_AddressTypeCode,
contact_addresstypename = c_joined.FormattedValues.ContainsKey("address1_addresstypecode") ? c_joined.FormattedValues["address1_addresstypecode"] : null,
contact_formattedValues = c_joined.FormattedValues,
}).ToArray();
Параметры account_formattedValues и account_addresstypename исправлены, и у меня есть доступ к этим данным, но по какой-то причине элемент contact_formattedValues содержит пустую коллекцию и, таким образом, contact_addresstypenameявляется нулевым.
Я делаю это неправильно, или я что-то пропустил?Кто-нибудь смог или знает, как этого добиться?Любая помощь с благодарностью.