使用PredicateBuilder这里看到林http://www.albahari.com/nutshell/predicatebuilder.aspx ,一切都很正常,现在我可以genrate动态的LINQ to SQL表达式,但我不明白的是,为什么当我在这样一个循环:
var inner = PredicateBuilder.False<MyType>();
foreach (var f in Filtermodel.InstrumentsFilterList.Where(s => s.isActive))
{
int temp = f.InstrumentID;
inner = inner.Or(ud => ud.InstrumentId == temp);
}
为什么我必须使用临时变量?我尝试使用了“F”迭代变量,但它只能获得名单上的最后一个值对于每次迭代,就像是按引用传递...