CRM 2011 - извлечение форматтеталетов из присоединения к объекту

Я преобразую некоторые из моих плагинов 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.

Я делаю это неправильно, или я что-то пропустил? Кто-нибудь был в состоянии или знает, как это добиться этого? Любая помощь значительно ценится.

5
задан Luke Baulch 15 September 2011 в 05:04
поделиться