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