如何使用单个QueryExpression查询多个实体

时间:2011-12-12 09:56:41

标签: c# dynamics-crm dynamics-crm-4

我正在尝试运行microsoft dynamics crm 4.0查询。当我像以前一样为“ONE”特定实体生成QueryExpression时,这可以正常工作。然而,问题是如何定义多个实体,以便我可以应用另一种方法中的逻辑?一个例子或illistration将是有帮助的。

所以我所拥有的是这种格式:

static BusinessEntityCollection GetData(CrmService service)
{
    cols = new ColumnSet();
    cols.Attributes = new string[] { "x", "y", "z"};

    FilterExpression filter = new FilterExpression();
    filter.FilterOperator = LogicalOperator.And;

    QueryExpression query = new QueryExpression();
    query.EntityName = EntityName.incident.ToString();

    // i am trying to add something like the below
    query.EntityName = EntityName.account.toString();

    query.ColumnSet = cols;
    query.Criteria = filter;

    return service.RetrieveMultiple(query);
}

我面临的限制是我只能查询一个实体,我需要一个解决方案或解决方法来访问和查询多个实体。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

简单回答:你做不到。您一次只能查询一个实体。

  

查询表达式用于单个对象搜索,例如,搜索符合特定搜索条件的所有帐户。

了解如何build queries。 您必须为要获得的实体组合多个请求。

FetchXML也存在同样的限制。它基本上是QueryExpression的序列化形式。见how to use FetchXML