var parameter = Expression.Parameter(typeof(Students), "st.StudentName"); var parameterExpression = Expression.Parameter(typeof(Students), "st");
var orderbyExpression = Expression.Property(parameter, "StudentName").Expression;
Expression<Func<Students, object>> orderbyExpression = Expression.Lambda<Func<Students, object>>(orderbyExpression, parameterExpression);
引用命名空间 System.Linq.Expressions
Students为实体类
StudentName为排序列
转换后为 st=>st.StudentName
应用场景:ORM框架查询,可以利用Lamda表达式防止注入,原为字符串组合方式存在注入风险
.Net 用于OrderBy或者GroupBy的Lamda表达式 字符串转表达式
原文:https://www.cnblogs.com/jianghaidong/p/12699441.html