CRM:链接实体集合为空

CRM : Linked Entities collection is empty

我有以下查询来获取相关实体 = 主要联系人的帐户。执行此查询我成功获取帐户,但相关实体集合为空。

    var _service = _getService();
    var q = new QueryExpression("account");
    q.ColumnSet = new ColumnSet("name");

    q.LinkEntities.Add(new LinkEntity("account", "contact", 
"primarycontactid", "contactid", JoinOperator.Inner));
    q.LinkEntities[0].Columns.AllColumns = true;
    q.LinkEntities[0].EntityAlias = "temp";

    EntityCollection ec = _service.RetrieveMultiple(q);

我做错了什么?

更新 1:检查我使用的相关实体字段

for (int i = 0; i < ec.Entities.Count; i++)
{
    Console.Write(ec.Entities[i].RelatedEntities.Count + " ");
}

需要明确的是,当您以这种方式加入实体时,所有相关的实体信息(在您的案例中为联系人)将与主要实体的字段(在您的案例中为帐户)一起返回。

要从相关实体获取字段,您必须检查同一个实体,例如 (string)ec.Entities[0].GetAttributeValue<AliasedValue>("temp.fullname").Value