C# 聚合lambda表达式以形成select查询
我有一个复选框列表,其中包含我的列的名称。在此场景中,用户可以选择报告中应显示哪些列。到目前为止,我有一个方法为每列返回一个lambda表达式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
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*/);