111,112
社区成员




//创建表达式变量参数
var parameter = Expression.Parameter(typeof(TInfo), "o"); // o=>
var property = Expression.Property(parameter, typeof(TInfo).GetProperty("ID")); // ID
var pred = Expression.Lambda(property, parameter); // o=>o.ID
//组建表达式树:Select(c=>c.ContactName)
var expr = Expression.Call(typeof(Queryable), "Select", new Type[] { typeof(TInfo), typeof(T) }, Expression.Constant(custs), selector);
//使用表达式树来生成动态查询
return Query.Provider.CreateQuery(expr);
以上的动态,其实也还是call了queryable的select方法。只不过是使用“字符串”的形式去组合(结果返回的类型还是投影的)。所以肯定不能这样使用。