Use a classe QueryExpression

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

No Microsoft Dynamics CRM 2015 e no Microsoft Dynamics CRM Online, você pode usar a classe QueryExpression para criar consultas complexas para uso com o método IOrganizationService.RetrieveMultiple ou a mensagem RetrieveMultipleRequest. Você pode configurar parâmetros de pesquisa para o QueryExpression usando as classes ConditionExpression, ColumnSet e FilterExpression.

A classe QueryExpression permite criar consultas complexas. A classe QueryByAttribute é projetada para ser uma forma simples de pesquisar por entidades onde os atributos correspondem aos valores especificados.

A tabela a seguir lista as propriedades que podem ser definidas para criar uma expressão de consulta.

Propriedade

Descrição

EntityName

Especifica qual tipo de entidade será recuperado. Uma expressão de consulta só pode recuperar uma coleção de um tipo de entidade.

ColumnSet

Especifica o conjunto de atributos (colunas) para recuperação.

Criteria

Especifica um condicional complexo e expressões do filtro lógicas que filtram os resultados da consulta.

Distinct

Especifica se os resultados da consulta contêm registros duplicados.

LinkEntities

Especifique os links entre vários tipos de entidade.

Orders

Especifica a ordem em que os registros são retornados da consulta.

PageInfo

Especifica o número de páginas e o número de registros por página retornados da consulta.

Contagem de registro

Para saber quantos registros a consulta retornou, defina a propriedade ReturnTotalRecordCount para verdadeiro antes de executar a consulta. Depois de fazer isso, o TotalRecordCount será definido. Caso contrário, o valor será -1.

Exemplo

A amostra a seguir mostra como usar a classe QueryExpression.

//  Query using ConditionExpression and FilterExpressionConditionExpression condition1 = new ConditionExpression();condition1.AttributeName = "lastname";condition1.Operator = ConditionOperator.Equal;condition1.Values.Add("Brown");            FilterExpression filter1 = new FilterExpression();filter1.Conditions.Add(condition1);QueryExpression query = new QueryExpression("contact");query.ColumnSet.AddColumns("firstname", "lastname");query.Criteria.AddFilter(filter1);EntityCollection result1 = _serviceProxy.RetrieveMultiple(query);Console.WriteLine();Console.WriteLine("Query using Query Expression with ConditionExpression and FilterExpression");Console.WriteLine("---------------------------------------");foreach (var a in result1.Entities){    Console.WriteLine("Name: " + a.Attributes["firstname"] + " " + a.Attributes["lastname"]);}Console.WriteLine("---------------------------------------");

Confira Também

QueryExpression
Criar consultas com QueryExpression
Usar a classe ColumnSet
Usar a classe ConditionExpression
Use a classe FilterExpression

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais