聚合lambda表达式以形成选择查询

时间:2014-05-16 20:57:40

标签: c# asp.net linq lambda

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

private Func<viwTechnology, object> LambdaBuilder(string criterion)
{
    switch (criterion)
    {
        case "columnName":
            return (c => { return c.columnName; });
        ....
        default:
            return null;
    }
}

我像这样调用LambdaBuilder方法

foreach (ListItem item in TableHeadersCheckBoxList.Items)
{
    if (item.Selected)
    {
        lambdas.Add(LambdaBuilder(item.Text)); 
    }
}

但是我无法将这些表达式提供给我的select方法。我已经有了我需要的结果,我只需要投影列。我打算做这样的事情:

result = (IQueryable<viwTechnology>)result.Select(/*aggregated expression*/);  

我不确定如何使用Aggregate&lt;&gt; List的方法我也不确定我的解决方案: - ??

0 个答案:

没有答案