【发布时间】:2016-09-03 18:38:32
【问题描述】:
我的 asp.net 项目中有过滤器,并希望将表达式添加到此列表中,条件为:
Expression<Func<MyModel, bool>> func;
var list = new List<Expression<Func<MyModel, bool>>>();
我想有条件地应用 Where(它们之间的 OR)。例如:
if(sth){
func = p => p.a <= b;
list.Add(func);
}
if (sth else){
func = p => p.c >= d;
list.Add(func);
}
var fq = Session.Query<MyModel>();
fq = list.Aggregate(fq, (current, expression) => current.Where(expression));
我该怎么做?
【问题讨论】:
-
你现在拥有的有什么问题?您尚未显示
MyModel类 (?) 的内容,但将其替换为int即可。 -
编辑过的帖子,也许你能帮我:(@decPL顺便说一下我是c#的菜鸟
-
我没有得到你想要做的事情??
标签: c# linq functional-programming conditional