2011-12-21 50 views
0

我有以下代碼:String.IndexOf到SQL翻譯不支持的版本與StringComparison參數

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

重複:http://stackoverflow.com/questions/2369022/using-contains-in-linq-to-sql – 2011-12-21 15:10:49

+1

我猜測是比較將取決於數據庫的排序規則。因此,如果您的數據庫歸類不區分大小寫,那麼比較也不會。 – Polyfun 2011-12-21 15:23:35

回答

1

的代碼,這可能幫助:

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