2

CRM 2011でデータをクエリしようとしていますが、ActivityPartyに参加する必要があります。良いドキュメントが見つからないようです。誰かが以前にこれをしたことがありますか。これはこれまでの私の質問です:

var linqQuery = (from r in gServiceContext.CreateQuery("campaignresponse")
                 join c in gServiceContext.CreateQuery("contact") on ((EntityReference)r["customer"]).Id equals c["contactid"] into opp
                 join a in gServiceContext,CreateQuery("lead") on ((EntityReference)r["customer"]).Id equals c["leadid"] into opp
                 from o in opp.DefaultIfEmpty()
                 where  ((EntityReference)r["new_distributorid"]).Id.Equals(lProfileProperty.PropertyValue) && ((OptionSetValue)r["new_distributorstatus"]).Equals("100000002")
                 select new
                  { }

したがって、クエリを見ると、私がやろうとしているのは、顧客フィールドを介して連絡先エンティティとリードエンティティをCamapaignResponseに参加させることであり、顧客フィールドはActivityPartyフィールドです。これを行う方法についてのアイデアはありますか?ありがとう!

4

1 に答える 1

1

クエリがどのように機能するかを理解するのに苦労していますが、SDKを使用してLinqエンティティを生成する方が簡単な時間になると言えます。次に、代わりに

from r in gServiceContext.CreateQuery("campaignresponse") where ...

あなたはただ書くことができます

gServiceContext.CampaignResponseSet
 .Where(cr => cr.property == value)
 .Select(cr => new {cr, cr.childObject});

などなど。強いタイピングとIntelliSenseも利用できます。

于 2012-09-26T13:32:04.513 に答える