Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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/0/asp.net-mvc/14.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
Sql server 使用IContentManager检索ContentPart,按不区分大小写的字段筛选_Sql Server_Asp.net Mvc_Nhibernate_Orchardcms_Orchard Modules - Fatal编程技术网

Sql server 使用IContentManager检索ContentPart,按不区分大小写的字段筛选

Sql server 使用IContentManager检索ContentPart,按不区分大小写的字段筛选,sql-server,asp.net-mvc,nhibernate,orchardcms,orchard-modules,Sql Server,Asp.net Mvc,Nhibernate,Orchardcms,Orchard Modules,在Orchard模块的开发中,如何检索由字段不敏感地过滤的ContentParts案例?我试过了 var name = viewModel.Name.ToUpper(); var samples = _contentManager.Query<SamplePart, SamplePartRecord>() .Where(x => x.Name.ToUpper() == name) .List(); 但当我尝试检索

在Orchard模块的开发中,如何检索由字段不敏感地过滤的ContentParts案例?我试过了

var name = viewModel.Name.ToUpper();
var samples = _contentManager.Query<SamplePart, SamplePartRecord>()
                .Where(x => x.Name.ToUpper() == name)
                .List();
但当我尝试检索时,不必担心它是否区分大小写

var name = viewModel.Name;
var samples = _contentManager.Query<SamplePart, SamplePartRecord>()
                .Where(x => x.Name == name)
                .List();
var name=viewModel.name;
var samples=\u contentManager.Query()
.Where(x=>x.Name==Name)
.List();
未报告任何错误


给出了什么?

请注意,
Where
子句中的表达式在某个时刻被NHibernate转换为SQL查询。因此,你只能在那里做些什么。在这种情况下,似乎不支持
ToUpper
方法


另一件事-SQL Server中的字符串比较行为取决于数据库上设置的实际排序规则。默认情况下,它不区分大小写,因此任何字符串比较都将忽略大小写。因此,如果您坚持使用默认值,您只需在两个字符串上使用一个普通的
=
,就像在上一个示例中一样。

我的数据库排序规则实际上是SQL\u Latin1\u General\u CP1\u CI\u AS(不区分大小写)。谢谢
var name = viewModel.Name;
var samples = _contentManager.Query<SamplePart, SamplePartRecord>()
                .Where(x => x.Name == name)
                .List();