Usar la clase QueryExpression
Publicado: enero de 2017
Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
En Microsoft Dynamics 365 y Microsoft Dynamics 365 (online), puede usar una clase QueryExpression para crear consultas complejas para usarla con el IOrganizationService. método RetrieveMultiple o el mensaje RetrieveMultipleRequest. Se pueden configurar los parámetros de la consulta en QueryExpression con las clases ConditionExpression, ColumnSet y FilterExpression.
La clase QueryExpression permite crear consultas complejas. La clase QueryByAttribute está diseñada para ser una forma simple de búsqueda para las entidades en las que los atributos coinciden con los valores especificados.
En la siguiente tabla se enumeran las propiedades que se definen para crear una expresión de consulta.
Propiedad |
Descripción |
---|---|
Especifica que tipo de entidad se va a recuperar. Una expresión de consulta solo puede recuperar una colección de un tipo de entidad. |
|
Especifica el conjunto de atributos (columnas) que se va a recuperar. |
|
Especifica complejas expresiones de filtro condicionales y lógicas que filtran los resultados de la consulta. |
|
Especifica si los resultados de la consulta contienen registros duplicados. |
|
Especifica los vínculos entre varios tipos de entidad. |
|
Especifica el orden en que los registros se devuelven desde la consulta. |
|
Especifica el número de páginas y el número de registros por página devueltos por la consulta. |
Recuento de registros
Para averiguar cuántos registros devuelve la consulta, establezca la propiedad ReturnTotalRecordCount en true antes de ejecutar la consulta. Al hacerlo, se establecerá TotalRecordCount. De lo contrario, esta valor será -1.
Ejemplo
En el siguiente ejemplo se muestra cómo usar la clase QueryExpression.
// Query using ConditionExpression and FilterExpression
ConditionExpression 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("---------------------------------------");
Ver también
QueryExpression
Crear consultas con QueryExpression
Use la clase ColumnSet
Usar la clase ConditionExpression
Usar la clase FilterExpression
Microsoft Dynamics 365
© 2017 Microsoft. Todos los derechos reservados. Copyright