我有一个List,其中包含几个关键字。 我通过他们的foreach建立我的LINQ查询与他们像这样(归结为删除代码噪声):在foreach循环中构建的Linq查询始终从上次迭代中获取参数值
List<string> keys = FillKeys()
foreach (string key in keys){
q = q.Where(c => c.Company.Name.Contains(key));
}
当我现在做我的钥匙包含2个键即seperatly返回结果,但永远不能occure在一起( q中的每一项都是“xyz”或“123”,从不“123”和“xyz”),我仍然得到结果。结果集与最后一个字符串相同。
我看了一下linq查询,看起来它创建了正确的sql,但它用相同的(最后一次被读取的)值替换@ p1和@ p2。
我在做什么错?
可能重复http://stackoverflow.com/questions/271440/c-sharp-captured-可变回路) – nawfal 2013-11-02 06:07:17