Как запросить несколько объектов с помощью одного выражения QueryExpression - PullRequest
0 голосов
/ 12 декабря 2011

Я пытаюсь выполнить запрос Microsoft Dynamics CRM 4.0. Это работает, как и ожидалось, когда я генерирую выражение QueryExpression для «ОДНОЙ» конкретной сущности, как я делал раньше. Проблема, однако, заключается в том, как определить более одной сущности, чтобы я мог применить логику, которую я использую в другом методе? Пример или плохая регистрация были бы полезны.

так что у меня есть в этом формате:

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 Ответ

5 голосов
/ 12 декабря 2011

Простой ответ: вы не можете.Вы можете запросить только один объект за один раз.

Выражение запроса используется для поиска по одному объекту, например, для поиска всех учетных записей, которые соответствуют определенным критериям поиска.

Посмотрите, как строить запросы .Вы должны объединить несколько запросов для сущностей, которые вы хотели бы получить.

То же ограничение существует для FetchXML.Это в основном сериализованная форма QueryExpression.Смотрите как использовать FetchXML

...