不区分大小写的QueryExpression

时间:2012-06-11 18:31:50

标签: c# dynamics-crm dynamics-crm-2011 case-insensitive query-expressions

是否可以使用不区分大小写的ConditionExpression构建查询?

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

在这个例子中,我希望searchName的搜索不区分大小写。

2 个答案:

答案 0 :(得分:6)

我认为这是在安装CRM时选择的数据库排序规则的一个因素,而不是QueryExpression的一个功能。

全新安装期间的默认值为Latin1_General_CI_AS。您可以通过执行以下sql语句来检查您的:

SELECT DATABASEPROPERTYEX('OrganisationName_MSCRM', 'Collation')

答案 1 :(得分:-4)

您可以在http://crmonaroll.blogspot.in/2013/06/case-in-sensitive-search-in-mscrm-2011.html

找到正确的答案

要在MSCRM 2011中进行不区分大小写的搜索,我们需要稍微调整一下查询,例如。

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

这里我将架构名称设置为ToLower(),这实际上是诀窍,希望这个帮助。留下您的意见。