将多个LInq选择器表达式组合成一个表达式

时间:2019-05-08 14:18:58

标签: c# linq expression selector

我正在针对采用如下参数定义的API

Select(Expression<Func<User, object>> selectExpression);

该表达式用于选择一个或多个属性,例如像这样

var expr = (u) => new { u.FirstName, u.LastName};

我想动态编写此selectExpression,在此我可以提交属性名称列表。所以沿着这些思路

private static Expression<Func<User, object>> generateSelectExpression(List<string> propertiesToSelect)

这不是与EntityFramework或任何其他DB层无关,而是纯粹的对象魔术。

1 个答案:

答案 0 :(得分:0)

这需要一些动态/反射魔术,但这应该可以做到

经过修改以允许泛型,而不仅仅是User类

start