给出一个返回IQueryable<sometype>
的表达式。如果我不知道sometype
在编译时是什么。我可以以某种方式执行表达式并返回IQueryable<actual type>
。
很明显我可以使用
Expression.Lambda<Func<object>>(expressionInstance).Compile()()
但是我当然会拿回一个物体。或者,我可以使用
Expression.Lambda<Func<IQueryable>>(expressionInstance).Compile()()
但是我会得到一个IQueryable
,如果我想实际使用诸如select等的扩展方法,那将毫无用,我仍然需要IQueryable<actual type>
。