问题描述
请教各位大牛,有这么一个方法:///<paramname="p">分页对象</param>///<paramname="fields">实体属性</param>///<paramname="filter">过滤条件</param>///<returns></returns>IEnumerable<T>GetList(Pagingp,Expression<Func<T,object>>fields,Expression<Func<T,bool>>filter);
我如何将filter解析出来,转换为相关的SQL语句?
解决方案
解决方案二:
去下个OrmLite.Net的源码,看下就知道了,灰常复杂
解决方案三:
引用1楼starfd的回复:
去下个OrmLite.Net的源码,看下就知道了,灰常复杂
OrmLite.Net这个是干嘛的--,好厉害的样子..
解决方案四:
引用1楼starfd的回复:
去下个OrmLite.Net的源码,看下就知道了,灰常复杂
能大概说下思路吗?上简单点的代码也行
解决方案五:
引用3楼dengfeiling的回复:
Quote: 引用1楼starfd的回复:
去下个OrmLite.Net的源码,看下就知道了,灰常复杂能大概说下思路吗?上简单点的代码也行
这个真心简单不起来,所以我直接跟你说去下这个ORM的源代码,它是开源的,你看了就知道了
解决方案六:
可以解析表达式树的。最主要的概念是:body,parameters,nodetype和type。要区分几十种nodetype去确定如何解析表达式树。比如说:x=>x+1最外层:body:x+1parameters:xnodetype:lambdabody里面包含一个2叉树,binaryexpression。left:xright:1nodetype:add这样一层层分析。
时间: 2024-10-05 22:28:22