QueryExpression insensible a mayúsculas y minúsculas

¿Es posible crear una consulta con una ConditionExpression que no distinga entre mayúsculas y minúsculas?

ConditionExpression condition = new ConditionExpression() 
{ 
  AttributeName = "lastname", 
  Operator = ConditionOperator.BeginsWith, 
  Values = new ObservableCollection<object>() { searchName } 
};

En este ejemplo, me gustaría que la búsqueda con searchName no distinga entre mayúsculas y minúsculas.

preguntado el 11 de junio de 12 a las 19:06

2 Respuestas

Creo que este es un factor de la intercalación de la base de datos que se eligió durante la instalación de CRM en lugar de una función de QueryExpression.

El valor predeterminado durante una instalación limpia es Latin1_General_CI_AS. Puede verificar el suyo ejecutando la siguiente instrucción sql:

SELECT DATABASEPROPERTYEX('OrganisationName_MSCRM', 'Collation')

Respondido el 12 de junio de 12 a las 09:06

Para aclarar, si asumimos que sus búsquedas actuales distinguen entre mayúsculas y minúsculas, entonces para lograr una búsqueda que no distinga entre mayúsculas y minúsculas, necesitaría cambiar la intercalación de su base de datos para usar una intercalación que no distinga entre mayúsculas y minúsculas. Aunque no es solo un caso de hacer clic en un botón, este is posible y debería poder buscarlo fácilmente en Google. - greg owens

Puedes encontrar la respuesta correcta en http://crmonaroll.blogspot.in/2013/06/case-in-sensitive-search-in-mscrm-2011.html

Para realizar una búsqueda que no distinga entre mayúsculas y minúsculas en MSCRM 2011, debemos modificar un poco la consulta, por ejemplo

 if (!String.IsNullOrEmpty(fieldname)) 
     query.Criteria.AddCondition("fieldname".ToLower(), ConditionOperator.Equal, fieldname.ToLower()); 
 EntityCollection col = service.RetrieveMultiple(query);

Aquí estoy configurando el nombre del esquema para ToLower() que realmente funciona, espero que esto ayude. Deje sus comentarios.

Respondido el 13 de junio de 13 a las 15:06

Para cualquier otra persona que venga aquí desde los motores de búsqueda, esto no funciona. - glosrob

"fieldname".ToLower() simplemente regresa "fieldname". Tal vez pensó que haría cumplir la ToLower() lado de la base de datos cuando los comparó? Esto no funciona. - Don Cheadle

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.