Case insensitive QueryExpression

本小妞迷上赌 提交于 2019-11-28 09:25:47

问题


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.


回答1:


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')



回答2:


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.



来源:https://stackoverflow.com/questions/10985610/case-insensitive-queryexpression

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!