繁体   English   中英

在Dynamics CRM中加入约会实体的必需与会者和联系人实体

[英]Joining Appointment Entity's Required Attendees and Contact Entity in Dynamics CRM

我想以编程方式提取所有约会实体及其所需参与者的完整信息(在我的情况下,总是联系类型)。

基于约会实体“必需出席者”属性的约会实体和联系人实体之间最佳的联接方式是什么?

要获取“必需的与会者”,您需要在AppointmentActivityParty实体之间建立Appointment ,然后根据ParticipationTypeMask进行过滤,其中“必需的与会者”为5。 此外,您需要在ActivityPartyContact实体之间建立ActivityParty

您的代码可能与此类似:

//Create a query expression specifying the link entity alias 
//and the columns of the link entity that you want to return
QueryExpression qe = new QueryExpression();
qe.EntityName = "appointment";
qe.ColumnSet = new ColumnSet(true);

//LinkEntity for ActivityParty                
var activityParty = new LinkEntity()
{
    EntityAlias = "activityparty",
    JoinOperator = JoinOperator.Inner,
    Columns = new ColumnSet(true),
    LinkFromEntityName = "appointment",
    LinkFromAttributeName = "activityid",
    LinkToEntityName = "activityparty",
    LinkToAttributeName = "activityid",
    LinkCriteria = new FilterExpression
    {
        Conditions =
                   {
                       new ConditionExpression("participationtypemask", ConditionOperator.Equal, 5), //Required Attendees 
                       new ConditionExpression("partyobjecttypecode", ConditionOperator.Equal, 2),   // Contacts
                   }
    }
};

//LinkEntity for Contact                
var contact = new LinkEntity()
{
    EntityAlias = "contact",
    JoinOperator = JoinOperator.Inner,
    Columns = new ColumnSet(true),
    LinkFromEntityName = "activityparty",
    LinkFromAttributeName = "partyid",
    LinkToEntityName = "contact",
    LinkToAttributeName = "contactid",
};

activityParty.LinkEntities.Add(contact);
qe.LinkEntities.Add(activityParty);

//Get the appointments and the Linked Entities
var appointments = _orgService.RetrieveMultiple(qe);

foreach (var appointment in appointments.Entities)
{
    // Do something with the Contact Data 
    var fullname = ((AliasedValue)(appointment["contact.fullname"])).Value.ToString();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM