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});

等等。您还将获得强大的打字和智能感知。

于 2012-09-26T13:32:04.513 回答