我使用 PredicateBuilder 在这里看到http://www.albahari.com/nutshell/predicatebuilder.aspx,一切都很好,现在我可以生成动态 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”迭代器变量,但它只获取每次迭代的列表中的最后一个值,就像它通过引用传递一样......