Я преобразую некоторые из моих плагинов CRM4.0, чтобы использовать SDK CRM2011. Я просто начинаю работать с LINQ для ранних сущностей, и столкнулся с проблемой.
Я пытаюсь получить отформатированное значение OptionsEtValue в присоединенном объекте. После взгляда на это пример запроса SDK MSDN , мне удалось получить отформатированные значения для первичного объекта, но не может, по-видимому, переводить это в присоединенный объект.
Код ниже является образец того, что я пытаюсь достичь. Я начал с использованием кода из примера 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_AddressTyPalues и Account_AddressTypename наткнутся по исправлению, и у меня есть доступ к этому данным, но по какой-то причине элемент Contact_FormattedValues содержит пустую коллекцию, и, таким образом, contact_addresstypename - это значение null.
Я делаю это неправильно, или я что-то пропустил? Кто-нибудь был в состоянии или знает, как это добиться этого? Любая помощь значительно ценится.