我試圖創建一個搜索方法,我想檢查關鍵字是否包含在給定記錄的任意數量的不同列中。在LINQ中加入列並運行包含運算符
我的LINQ的聲明如下:
string[] searchFilter = {"john", "iceberg"};
var q = from qua in qual
join del in deliverables on qua.ID equals del.Q_ID
where searchFilter.All(s => (qua.Name + " " + qua.Project + " " + qua.Summary + " " + del.Name + " " + del.Summary).ToLower().Contains(s))
select qua;
我卻得到其中指出的錯誤信息:「本地序列不能在LINQ可以用於除載有()操作執行SQL查詢操作的。 「
那麼,什麼是問題?這個例外很自我解釋 - 你有一個本地序列(閱讀:內存中),並且你不能在帶有L2S的linq查詢中使用它,除非你將它與Contains() - 運算符一起使用。您正在使用全運算符,因此您不能在查詢中使用本地序列。 – Maarten 2012-07-30 13:46:25
你可能會提出一個解決上述問題的方法嗎?謝謝。 – stats101 2012-07-30 13:54:24