示例#1
0
        public void FromIn <K>(TQueryHelper <K> helper, string newTableName = null) where K : class
        {
            this.fromInTableName    = TQueryReflectionHelper.GetTableName(typeof(K));
            this.fromInNewTableName = newTableName;

            string querySql = string.Format(TQueryHelperTemplateEnum.FROM_IN, helper.ToSql(), string.IsNullOrEmpty(newTableName) ? this.fromInTableName : newTableName);

            this.queryList.Add(new ExpressionKeyValueItem(TQueryHelperTypeEnum.FROMIN, querySql));
        }
示例#2
0
        public void WhereIn <K>(string fieldName, string charType, TQueryHelper <K> helper, bool directUseFieldName = false) where K : class
        {
            string querySql = null;

            if (!directUseFieldName)
            {
                querySql = string.Format(TQueryHelperTemplateEnum.WHERE_IN, TQueryReflectionHelper.GetTableName(typeof(T)), fieldName, charType, helper.ToSql());
            }
            else
            {
                querySql = string.Format(TQueryHelperTemplateEnum.WHERE_IN_DIRECT, fieldName, charType, helper.ToSql());
            }
            this.queryList.Add(new ExpressionKeyValueItem(TQueryHelperTypeEnum.WHERE, querySql));
        }
示例#3
0
        public void Select <K>(TQueryHelper <K> helper, string newFieldName = null) where K : class
        {
            string querySql = helper.ToSql();

            if (!string.IsNullOrEmpty(newFieldName))
            {
                querySql = string.Format(TQueryHelperTemplateEnum.SELECT_AS, querySql, newFieldName);
            }
            else
            {
                querySql = string.Format(TQueryHelperTemplateEnum.BREAK, querySql);
            }
            this.queryList.Add(new ExpressionKeyValueItem(TQueryHelperTypeEnum.SELECT, querySql));
        }
示例#4
0
 public void Union <K>(TQueryHelper <K> helper) where K : class
 {
     this.queryList.Add(new ExpressionKeyValueItem(TQueryHelperTypeEnum.UNION, helper.ToSql()));
 }
示例#5
0
        public void NotExists <K>(TQueryHelper <K> helper) where K : class
        {
            string querySql = string.Format(TQueryHelperTemplateEnum.NOTEXISTS, helper.ToSql());

            this.queryList.Add(new ExpressionKeyValueItem(TQueryHelperTypeEnum.WHERE, querySql));
        }
示例#6
0
        public void WhereIn <K, P>(Expression <Func <K, P, object> > lambda, string charType, TQueryHelper <K> helper)
            where K : class
            where P : class
        {
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append(new WhereInTranslator().Translate(lambda, charType));
            stringBuilder.Append(" ");
            stringBuilder.Append(string.Format(TQueryHelperTemplateEnum.BREAK, helper.ToSql()));

            this.queryList.Add(new ExpressionKeyValueItem(TQueryHelperTypeEnum.WHERE, stringBuilder.ToString()));
        }