在Where()

时间:2015-05-20 23:16:35

标签: c# linq lambda expression-trees

我目前正致力于根据此article创建一个IQueryable Linq Provider。当Where()只有一个条件时,事情与ExpressionTreeModifier完美配合,即(x => x> 10);但是,只要Where()包括'AndAlso'(x => x> 10&& x< 20),Queryable就不再返回任何结果。在这里处理/解析/展平多个条件的正确方法是什么?

编辑1: 这不是正确的事情,但似乎最初使事情起作用......在Context的Execute()方法中,修改后的树被传递到IQueryable的Provider.CreateQuery()调用中,我只是包装了IEnumerable.AsQueryable()在一个ConstantExpression中,它似乎已经让事情发挥作用了。也就是说,我有点担心我在这里失去了其他功能,但目前还不清楚失去的功能是什么。

0 个答案:

没有答案