希望这将帮助:
private static bool RelationshipExists(IOrganizationService service, string relationshipname, Guid entity1Id, string entity1Name, Guid entity2Id, string entity2Name)
{
string relationship1EtityName = string.Format("{0}id", entity1Name);
string relationship2EntityName = string.Format("{0}id", entity2Name);
//This check is added for self-referenced relationships
if (entity1Name.Equals(entity2Name, StringComparison.InvariantCultureIgnoreCase))
{
relationship1EtityName = string.Format("{0}idone", entity1Name);
relationship1EtityName = string.Format("{0}idtwo", entity1Name);
}
QueryExpression query = new QueryExpression(entity1Name) { ColumnSet = new ColumnSet(false) };
LinkEntity link = query.AddLink(relationshipname,
string.Format("{0}id", entity1Name), relationship1EtityName);
link.LinkCriteria.AddCondition(relationship1EtityName,
ConditionOperator.Equal, new object[] { entity1Id });
link.LinkCriteria.AddCondition(relationship2EntityName,
ConditionOperator.Equal, new object[] { entity2Id });
return service.RetrieveMultiple(query).Entities.Count != 0;
}
对不起,我不太明白这一点。我假设xyz将持有相关顾问的集合。我相信这不会是一个准确的检查,如果现有的xyz包含顾问A,B和C,而我的新相关顾问是D,E和F,该怎么办?我们不是在这里只检查这个联系人是否与顾问有任何关系,但我们实际上并没有检查现有的关系? – user3340627
嗨,只是编辑了代码。不过,您需要进行更改以使其正常工作,因为我目前没有开发者设置。我也喜欢@Andrii Butenko提供的解决方案。我相信该解决方案将对您有所帮助,因为这是编译代码 – Scorpion
谢谢您的回答。我无法使用“linqContext”这是一个内置对象吗?对不起,我是一个CRM初学者 – user3340627