【发布时间】:2012-01-25 09:22:07
【问题描述】:
我有以下代码:
var items = db.Name.Where(x => x.Forename.IndexOf("john", StringComparison.OrdinalIgnoreCase) >= 0).Take(20);
其中db 是System.Data.Linq.DataContext。
这给了我一个可爱的错误:
String.IndexOf 到 SQL 的翻译不支持版本 带有 StringComparison 参数。
我要做的就是将数据库中的字符串与用户输入的字符串进行比较(在上面的示例中硬编码为“john”),但不考虑区分大小写。我将代码基于以下问题Case insensitive 'Contains(string)'
【问题讨论】:
-
我的猜测是比较将取决于数据库的排序规则。因此,如果您的数据库排序规则不区分大小写,那么比较也不区分大小写。
标签: c# string linq linq-to-sql