Usar la clase ConditionExpression
Publicado: noviembre de 2016
Se aplica a: Dynamics CRM 2015
En Microsoft Dynamics CRM 2015 y actualización de Microsoft Dynamics CRM Online 2015, puede usar la clase de ConditionExpression para comparar un atributo con un valor o un conjunto de valores al usar un operador, como "igual a" o "mayor que". La clase de ConditionExpression le permite pasar expresiones de condición como parámetros a otras clases, como QueryExpression y FilterExpression.
La siguiente tabla enumera las propiedades que puede definir para crear una condición que usa la clase de ConditionExpression.
Propiedad |
Descripción |
---|---|
Especifica el nombre lógico del atributo en la expresión de condición. |
|
Especifica el operador de la condición. Esto se configura mediante la enumeración de ConditionOperator. |
|
Especifica los valores del atributo. |
Al usar el método de AddCondition (o el constructor para ConditionExpression), es importante comprender si la matriz se agrega como varios valores o como una matriz.
El siguiente ejemplo del código muestra dos resultados diferentes en función de cómo se usa la matriz.
string[] values = new string[] { "Value1", "Value2" };
ConditionExpression c = new ConditionExpression("name", ConditionOperator.In, values);
Console.WriteLine(c.Values.Count); //This will output 2
string[] values = new string[] { "Value1", "Value2" }object value = values;
ConditionExpression c = new ConditionExpression("name", ConditionOperator.In, value);
Console.WriteLine(c.Values.Count); //This will output 1
En algunos casos, es necesario convertir a object[] o object, en función del comportamiento deseado.
Al crear una condición que compare un valor de atributo con una enumeración, como un código de estado, debe usar el método de ToString para convertir el valor de una cadena.
Ejemplo
El siguiente ejemplo del código muestra cómo usar la clase de ConditionExpression.
// Query using ConditionExpression
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("---------------------------------------");
Ejemplo
El siguiente ejemplo del código muestra cómo usar la clase de ConditionExpression a fin de realizar una prueba para el estado inactivo.
ConditionExpression condition3 = new ConditionExpression();
condition3.AttributeName = "statecode";
condition3.Operator = ConditionOperator.Equal;
condition3.Values.Add(AccountState.Active);
Ver también
ConditionExpression
Crear consultas con QueryExpression
Crear consultas con QueryExpression
Usar la clase FilterExpression
© 2017 Microsoft. Todos los derechos reservados. Copyright