コード例 #1
0
        /// <summary>
        /// 获取最小值
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="queryable">查询对象</param>
        /// <param name="expression">查询字段 (例如:it=>it.fieldName)</param>
        /// <returns>object</returns>
        public static object Min <T>(this Queryable <T> queryable, Expression <Func <T, object> > expression)
        {
            ResolveExpress re       = new ResolveExpress();
            var            minField = re.GetExpressionRightField(expression, queryable.DB);

            return(Min <T, object>(queryable, minField));
        }
コード例 #2
0
        /// <summary>
        ///  条件筛选 ( 例如:expression 为 it=>it.id,  inValues值为 new string[]{"1" ,"2"} 生成的SQL就是  id in('1','2') )
        /// </summary>
        /// <typeparam name="T">表实体类型</typeparam>
        /// <typeparam name="FieldType">In的字段类型</typeparam>
        /// <param name="queryable">查询对象</param>
        /// <param name="expression">In的字段(例如:it=>it.id)</param>
        /// <param name="inValues">In的值的集合</param>
        /// <returns>Queryable</returns>
        public static Queryable <T> In <T, FieldType>(this Queryable <T> queryable, Expression <Func <T, object> > expression, List <FieldType> inValues)
        {
            ResolveExpress re          = new ResolveExpress();
            var            InFieldName = re.GetExpressionRightField(expression, queryable.DB);

            return(In <T, FieldType>(queryable, InFieldName, inValues));
        }
コード例 #3
0
        /// <summary>
        /// 分组
        /// </summary>
        /// <typeparam name="T">表实体类型</typeparam>
        /// <param name="queryable">查询对象</param>
        /// <param name="expression">分组字段 (例如:it=>it.fieldName)</param>
        /// <returns>Queryable</returns>
        public static Queryable <T> GroupBy <T>(this Queryable <T> queryable, Expression <Func <T, object> > expression)
        {
            ResolveExpress re    = new ResolveExpress();
            var            field = re.GetExpressionRightField(expression, queryable.DB);
            var            pre   = queryable.GroupByValue.IsValuable() ? "," : "";

            queryable.GroupByValue += pre + field;
            return(queryable);
        }
コード例 #4
0
        /// <summary>
        /// 排序
        /// </summary>
        /// <typeparam name="T">表实体类型</typeparam>
        /// <param name="queryable">查询对象</param>
        /// <param name="expression">排序字段 it=>it.fieldName </param>
        /// <param name="type">排序类型</param>
        /// <returns>Queryable</returns>
        public static Queryable <T> OrderBy <T>(this Queryable <T> queryable, Expression <Func <T, object> > expression, OrderByType type = OrderByType.asc)
        {
            ResolveExpress re    = new ResolveExpress();
            var            field = re.GetExpressionRightField(expression, queryable.DB);

            if (queryable.JoinTableValue.IsValuable())
            {
                field = re.GetExpressionRightFieldByNT(expression, queryable.DB);
            }
            var pre = queryable.OrderByValue.IsValuable() ? "," : "";

            queryable.OrderByValue += pre + field + " " + type.ToString().ToUpper();
            return(queryable);
        }