String.IndexOf到SQL的转换不支持具有StringComparison参数的版本

时间:2011-12-21 15:07:54

标签: c# string linq linq-to-sql

我有以下代码:

var items = db.Name.Where(x => x.Forename.IndexOf("john", StringComparison.OrdinalIgnoreCase) >= 0).Take(20);

dbSystem.Data.Linq.DataContext

这给了我一个可爱的错误:

  

String.IndexOf到SQL的转换不支持版本   使用StringComparison参数。

我想要做的就是将数据库中的字符串与用户输入的字符串进行比较(在上面硬编码为“john”的示例中),但不考虑区分大小写。我根据以下问题Case insensitive 'Contains(string)'

编写了代码

1 个答案:

答案 0 :(得分:1)

这可能会有所帮助:

string test="john";
db.tblUsers.Where (u =>u.Forename.ToLower().Contains((test.ToLower())).Take(20);