总的来说,表达式树是Linq中不可或缺的一环,为了方便人们使用表达式树,编译器也做了许多工作,从而避免用户手动构造表达式树,因此选用了Lambda表达式这种用户熟悉的形式给用户使用,但同时,也提高了理解门槛。
四、题外话为了减少重复劳动,我编写了一个动态构建查询的类库,基于.NetStandard,支持静态排序,动态排序,多重排序,模糊查询,分页查询,能适用大多数的后台管理应用开发场景。原理其实就是动态构建表达式树。GitHub上有文档,Nuget上搜索EazyPageQuery,记得勾选“包括预发行版”~
Github:https://github.com/HekunX/EazyPageQuery