Question

Is it possible to build a query with a ConditionExpression which is not case sensitive ?

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

In this example I would like the search with searchName to be case insensitive.

Was it helpful?

Solution

I believe that this is a factor of the database collation that was chosen during install of CRM rather than a feature of QueryExpression.

The default during a clean install is Latin1_General_CI_AS. You can check yours by executing the following sql statement:

SELECT DATABASEPROPERTYEX('OrganisationName_MSCRM', 'Collation')

OTHER TIPS

you can find the correct answer at http://crmonaroll.blogspot.in/2013/06/case-in-sensitive-search-in-mscrm-2011.html

To do a case insensitive search in MSCRM 2011 we need to tweak the query a little bit ,for e.g.

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

Here I am setting the schema name to ToLower() which actually does the trick, hope this help.Leave your comments.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top