给出两个表达式的输入,例如:
Expression<Func<Customer,string>> nameExpression = x=>x.Name;
Expression<Func<Customer,string>> nameExpression = x=>x.MarketSegment.Name;
和
IQueryable<Customer> query = ..//fetch from dbContext;
我想动态创建一个从查询中选择这些属性的表达式。
最终结果必须按如下方式执行:
Expression<IQueryable<Customer>,IQueryable<dynamic>> query = query.Select(x=>new{
x=>x.Name,
x=>x.MarketSegment.Name
});
我发现Expression.New可能是this question中的一个选项,但我无法弄清楚如何将表达式传递给它。