/// <summary> /// 解释T-SQL(Order) /// </summary> /// <param name="exp">Lambda表达式</param> public virtual List <string> OrderTranslator(Expression exp) { VisitType = eumVisitType.Order; SqlList = new Stack <string>(); if (exp != null) { Visit(exp); } var lstSql = SqlList.ToList(); lstSql.Reverse(); return(lstSql); }
/// <summary> /// 解释T-SQL(Where) /// </summary> /// <param name="exp">Lambda表达式</param> /// <param name="lstParams">输出参数列表</param> public virtual string WhereTranslator(Expression exp, out List <DbParameter> lstParams) { VisitType = eumVisitType.Where; SqlList = new Stack <string>(); ParamsList = new List <DbParameter>(); if (exp != null) { Visit(exp); } lstParams = ParamsList; var lstSql = SqlList.ToList(); lstSql.Reverse(); return(lstSql.Count == 0 ? "1=1" : lstSql.ToString(" ")); }