C# 聚合lambda表达式以形成select查询

C# 聚合lambda表达式以形成select查询,c#,asp.net,linq,lambda,C#,Asp.net,Linq,Lambda,我有一个复选框列表,其中包含我的列的名称。在此场景中,用户可以选择报告中应显示哪些列。到目前为止,我有一个方法为每列返回一个lambda表达式 private Func<viwTechnology, object> LambdaBuilder(string criterion) { switch (criterion) { case "columnName": return (c => { return c.columnN

我有一个复选框列表,其中包含我的列的名称。在此场景中,用户可以选择报告中应显示哪些列。到目前为止,我有一个方法为每列返回一个lambda表达式

private Func<viwTechnology, object> LambdaBuilder(string criterion)
{
    switch (criterion)
    {
        case "columnName":
            return (c => { return c.columnName; });
        ....
        default:
            return null;
    }
}
但是,我无法将这些表达式提供给select方法。我已经有了我需要的结果,我只需要投影列。我打算做这样的事情:

result = (IQueryable<viwTechnology>)result.Select(/*aggregated expression*/);  
result=(IQueryable)结果。选择(/*聚合表达式*/);

我不确定如何使用列表的聚合方法,也不确定我的解决方案:-

你不能,因为你不知道它将是什么类型。@SLaks你能再解释一下吗?你不知道你的lambda返回什么类型。那么我该如何解决这个问题呢?你能提出其他解决方案吗?这完全取决于你对结果做了什么。
result = (IQueryable<viwTechnology>)result.Select(/*aggregated expression*/);