我试图创建一个搜索方法,我想检查关键字是否包含在给定记录的任意数量的不同列中。在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