質問

CRM4.0プラグインの一部をCRM2011 SDKを使用するように変換しています。私は初期のエンティティのためにLINQと協力し始めたばかりで、問題に遭遇しました。

結合されたエンティティでオプションセットバリューのフォーマットされた値を取得しようとしています。見た後 このMSDN SDKクエリの例, 、私は何とかプライマリエンティティのフォーマットされた値を取得することができましたが、それを参加したエンティティに翻訳することはできません。

以下のコードは、私が達成しようとしていることのサンプルです。 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はnullです。

私はこれを誤ってやっていますか、それとも何かを見逃しましたか?誰かがこれを達成する方法を知っているか知っていましたか?どんな助けも大歓迎です。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top