linq-to-sql 组合表达式
有什么方法可以将表达式列表合并为一个吗?我有 List
并尝试组合成一个(AndAlso)并获取
Expression<Child, bool> combined = Combine(expList);
组合表达式的预期用法是这样的:
//type of linqFilter is IQueryable<Parent>
linqFilter = linqFilter.SelectMany(p => p.Child).
Where(combined).Select(t=> t.Parent);
我正在尝试这样的事情:
var result = expList.Cast<Expression>().
Aggregate((p1, p2) => Expression.AndAlso(p1, p2));
但是出现异常
{"The binary operator AndAlso is not defined for the types 'System.Func`2[Child,System.Boolean]' and 'System.Func`2[Child,System.Boolean]'."}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试一下它是一个构建器,因此您必须为 expList 中的每个递归调用它
Try this its a builder so you would have to recursively call it for each in expList