关于C#:linq表达式区分大小写?

Linq expression case sensitive?

到目前为止我所读到的,Linq(和C对此问题)已经做了区分大小写的检查。

我怎样才能使它在敏感的情况下?

这是我的代码,它返回0行,并且在数据库中有一条记录

1
bool result = Employee.SearchBy(x => x.Name.Contains("johN schulZ"));

而这又是真的:

1
bool result = Employee.SearchBy(x => x.Name.ToLower().Contains("johN schulZ".ToLower()));

后一种解决方案是可行的,但我想知道是否有更方便的方法。


使用数据库时区分大小写(我假设linq2ef或linq2sql)是数据库的函数。您应该将列/数据库的排序规则更改为不区分大小写的排序规则。

见:

http://technet.microsoft.com/en-us/library/ms190920.aspx

http://technet.microsoft.com/en-us/library/ms175835.aspx


这完全符合我的要求-谢谢大家。

1
2
3
4
5
bool result = Employee.SearchBy(x => x.Name.Equals("johN schulZ", StringComparison.CurrentCultureIgnoreCase));

or

bool result = Employee.SearchBy(x => x.Name.Contains("johN schulZ", StringComparison.CurrentCultureIgnoreCase));