Dynamics crm 2011 基于AssignedToName查询联系人实体

Dynamics crm 2011 基于AssignedToName查询联系人实体,dynamics-crm-2011,Dynamics Crm 2011,我正在使用CRM SDK编写一个API,以基于“assignedToName”(可以是系统用户名或团队名称)获取联系人。 我正在使用QueryExpressions。问题是如何为此创建查询表达式和链接? 目前,Contact的QueryExpression有2个使用LeftOuter联接的链接实体。 在AssignedToID=SystemUserID字段上,从联系人到系统用户 另一个是在AssignedToID=TeamID字段上从联系人到团队,该字段带有一个条件表达式,用于“Name”字段=

我正在使用CRM SDK编写一个API,以基于“assignedToName”(可以是系统用户名或团队名称)获取联系人。 我正在使用QueryExpressions。问题是如何为此创建查询表达式和链接? 目前,Contact的QueryExpression有2个使用LeftOuter联接的链接实体。 在AssignedToID=SystemUserID字段上,从联系人到系统用户 另一个是在AssignedToID=TeamID字段上从联系人到团队,该字段带有一个条件表达式,用于“Name”字段=“assignedToName”

之所以有2个链接实体,是因为我不知道“assignedToName”是属于团队还是属于用户

这样做的副作用是,现在我在结果中出现了误报,由于LeftOuter连接,额外的联系人记录被包括在结果集中。为此编写QueryExpression的正确方法是什么

示例代码:

private IEnumerable GetContactEntities(分配给名称的字符串,IOR组织服务或服务)
{
QueryExpression qe=新的QueryExpression(“联系人”);
LinkEntity linkSystemUser=新的LinkEntity(“联系人”、“系统用户”、“assignedtoid”、“系统用户ID”、JoinOperator.LeftOuter);
LinkEntity linkTeam=新的LinkEntity(“联系人”、“团队”、“assignedtoid”、“团队ID”、JoinOperator.LeftOuter”);
linkSystemUser.LinkCriteria.AddCondition(新的ConditionExpression(“name”,ConditionOperator.Equal,assignedToName));
linkSystemUser.EntityAlias=“linkSystemUser”;
linkTeam.LinkCriteria.AddCondition(新的ConditionExpression(“name”,ConditionOperator.Equal,assignedToName));
linkTeam.EntityAlias=“linkTeam”;
qe.linkenties.Add(linkSystemUser);
qe.linkenties.Add(linkTeam);
返回orgService.RetrieveMultiple(qe).Entities;
}

您可以创建2个queryexpression,第一个链接到systemuser实体,如果没有结果,则执行另一个链接到team@GuidoPreite当前位置我不希望因为这个原因两次往返CRM。