Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        /// <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);
        }