我有以下查询来获取相关实体=主要联系人的帐户。执行此查询后,我成功获取了帐户,但相关实体集合为空。
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 + " ");
}
答案 0 :(得分:1)
只是要明确当您以这种方式加入实体时,所有相关实体信息(您的案例中的联系人)将与主要实体(您的案例中的帐户)字段一起返回。
要从相关实体获取字段,您必须检查相同的实体,例如(string)ec.Entities[0].GetAttributeValue<AliasedValue>("temp.fullname").Value