为了账号安全,请及时绑定邮箱和手机立即绑定

关于lambda表达式的反射问题

关于lambda表达式的反射问题

慕神8447489 2018-11-26 09:23:23
排序时需传递某个参数指明按照哪个字段排序,一个用户表User,有Name和ID属性,按名称或ID排序;传递进来的是order=name,或者order=id;那么我需要在数据库中这么排序:allUsers.OrderBy(u => u.Name);当然Name是我写的,不能通用,只能用反射了。allUsers.OrderBy(u => u.GetType().GetProperty(order));这不一定对,不知道此时应该怎么处理。
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

这里用反射不好。

1——

会影响运行效率

2——

假如是SQL LINQ的话,没办法转换为SQL语句

或许可以用下面的方案:

1——

在方法调用的时候传递一个Lamda表达式而不是传递属性名

2——

使用动态变量

3——

(这个方案跟你用反射其实类似了)使用动态变量的字典构建。


查看完整回答
反对 回复 2018-11-30
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

构建一个查询表达式,然后再去进行查询

查看完整回答
反对 回复 2018-11-30
  • 2 回答
  • 0 关注
  • 719 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信