Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不区分大小写的QueryExpression_C#_Dynamics Crm_Dynamics Crm 2011_Case Insensitive_Query Expressions - Fatal编程技术网

C# 不区分大小写的QueryExpression

C# 不区分大小写的QueryExpression,c#,dynamics-crm,dynamics-crm-2011,case-insensitive,query-expressions,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 } }; Cond

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

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

在本例中,我希望使用searchName的搜索不区分大小写。

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

清洁安装过程中的默认值为
Latin1\u General\u CI\u AS
。您可以通过执行以下sql语句来检查您的sql语句:

SELECT DATABASEPROPERTYEX('OrganisationName_MSCRM', 'Collation')

你可以在以下网址找到正确答案:

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

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

在这里,我将模式名设置为
ToLower()
,这实际上起到了作用,希望这有帮助。请留下您的评论

澄清一下——如果我们假设您当前的搜索区分大小写,那么要实现不区分大小写的搜索,您需要将数据库排序规则更改为使用不区分大小写的排序规则。虽然这不仅仅是单击按钮的情况,但这是可能的,而且您应该能够随时用谷歌搜索它。对于从搜索引擎来到这里的任何人来说,这都不起作用。
“fieldname”。ToLower()
只返回
“fieldname”
。当比较它们时,您可能认为它会强制执行
ToLower()
数据库端?这是行不通的。