我試圖LINQ查詢中的字符串數組上使用Array.Contains:不區分大小寫Array.Contains在LINQ查詢
var otherMatchingDevices = from d in selectedDevices
from c in mldb.Companies
where d.CompanyID == c.CompanyID && c.Deleted == 0
where searchTerms.Contains(d.Name.ToString(), StringComparer.CurrentCultureIgnoreCase) || searchTerms.Contains(c.CompanyName.ToString(), StringComparer.CurrentCultureIgnoreCase)
select d;
當查詢評估其與「用於查詢不支持過載崩潰運營商「包含」
我測試使用StringComparer此代碼,它工作正常,並打印出「富」:
string[] sList = { "fOO", "bar" };
string[] array = { "foo" };
List<string> stringlist = sList.ToList();
var qry = from s in stringlist
where array.Contains(s, StringComparer.CurrentCultureIgnoreCase)
select s;
if (qry.Count() > 0) Console.WriteLine(qry.First().ToString());
誰能告訴我如何使用不區分大小寫的陣列。包含在Linq查詢中?我不想轉換原始字符串ToUpper()或ToLower(),因爲它很昂貴,它會更改原始數據。
您是否使用LINQ2SQL或LINQ2Entities?如果是這樣,那就是爲什麼它不被支持。 –
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
@MichaelDunlap使用Linq to SQL類。 –