private static string Write(TextWriter writer, Expression expression, AiExpSqlType bizSql) { expression = AiPartialEvaluator.Eval(expression); var bizR = new AiExpressionWriterSql(writer); bizR.bizRead = bizSql; bizR.Visit(expression); string result = string.Empty; switch (bizSql) { case AiExpSqlType.aiOrder: result = Regex.Replace(bizR.aiOrdeRsult, @",\s?$", ""); return(result); case AiExpSqlType.aiWhere: result = Regex.Replace(bizR.aiWhereResult, @"and\s?$", ""); return(result);; default: return(string.Empty); } }
/// <summary> /// 将Lambda表达式解析成SQL语句 /// </summary> /// <param name="expression">表达式</param> /// <returns></returns> public static string ToMSSqlString(this Expression expression) { string itemstr = AiExpressionWriterSql.BizWhereWriteToString(expression, AiExpSqlType.aiWhere); return(itemstr); }