Esempio n. 1
0
 public static ISelectedValuesResult <T, TMe> Max <T, TMe, TU>(this ISelectedValuesTarget <T, TMe> target, Expression <Func <T, TU> > valueExpression)
 {
     target.AppendSelect();
     target.QueryBuilder.StringBuilder.AppendAfterSpace("MAX(");
     target.QueryBuilder.AddExpression(valueExpression.Body, ParseOptions.RegisterTables);
     target.QueryBuilder.StringBuilder.Append(")");
     return((ISelectedValuesResult <T, TMe>)target);
 }
Esempio n. 2
0
 public static ISelectedValuesResult <T, TMe> Value <T, TMe, TU>(this ISelectedValuesTarget <T, TMe> target, Expression <Func <T, TU> > valueExpression,
                                                                 Expression <Func <T, TU> > targetExpression)
 {
     target.AppendSelect();
     target.QueryBuilder.AddExpression(valueExpression.Body);
     target.QueryBuilder.SelectField(targetExpression.Body);
     return((ISelectedValuesResult <T, TMe>)target);
 }
Esempio n. 3
0
        /// <summary>Select all the columns of a given table </summary>
        /// <param name="target"></param>
        /// <param name="tableExpression">The expression that returns a table </param>
        /// <typeparam name="TU">The table type</typeparam>
        /// <typeparam name="TMe">The parameter type</typeparam>
        /// <typeparam name="T">The main table type</typeparam>
        /// <returns> The <see cref="ISelectedValuesResult{T,TMe}"/>. </returns>
        public static ISelectedValuesResult <T, TMe> All <T, TMe, TU>(this ISelectedValuesTarget <T, TMe> target, Expression <Func <T, TU> > tableExpression)
        {
            target.AppendSelect();
            var table = target.QueryBuilder.GetTable(tableExpression, true);

            target.QueryBuilder.AppendAllSelects(table);
            return((ISelectedValuesResult <T, TMe>)target);
        }
Esempio n. 4
0
        /// <summary>Select several values </summary>
        /// <param name="target"></param>
        /// <param name="columns">The expression that returns a value </param>
        /// <returns> The <see cref="ISelectedValuesResult{T,TMe}"/>. </returns>
        public static ISelectedValuesResult <T, TMe> Values <T, TMe>(this ISelectedValuesTarget <T, TMe> target, params Expression <Func <T, object> >[] columns)
        {
            foreach (var column in columns)
            {
                AppendValue(target, column);
            }

            return((ISelectedValuesResult <T, TMe>)target);
        }
Esempio n. 5
0
        private static void AppendValue <T, TMe, TU>(ISelectedValuesTarget <T, TMe> target, Expression <Func <T, TU> > column)
        {
            target.AppendSelect();
            var tableColumn = target.QueryBuilder.ExpressionToColumn(column.Body, ParseOptions.RegisterTables);

            if (tableColumn == null)
            {
                target.QueryBuilder.AddExpression(column.Body, ParseOptions.RegisterTables);
            }
            else
            {
                if (tableColumn is Field)
                {
                    var field = target.QueryBuilder.SelectField((Field)tableColumn);
                    field.Accept(target.QueryBuilder.StringBuilder);
                }
                else
                {
                    target.QueryBuilder.AppendAllSelects((SelectedTable)tableColumn);
                }
            }
        }
Esempio n. 6
0
 public static ISelectedValuesResult <T, TMe> Value <T, TMe, TU>(this ISelectedValuesTarget <T, TMe> target, Expression <Func <T, TU> > column)
 {
     AppendValue(target, column);
     return((ISelectedValuesResult <T, TMe>)target);
 }
Esempio n. 7
0
 public static ISelectedValuesResult <T, TMe> CountAll <T, TMe>(this ISelectedValuesTarget <T, TMe> target)
 {
     target.AppendSelect();
     target.QueryBuilder.StringBuilder.AppendAfterSpace("COUNT(*)");
     return((ISelectedValuesResult <T, TMe>)target);
 }
Esempio n. 8
0
 /// <summary> Select all the field of the bean table </summary>
 /// <returns>The query builder</returns>
 public static ISelectedValuesResult <T, TMe> All <T, TMe>(this ISelectedValuesTarget <T, TMe> target)
 {
     target.AppendSelect();
     target.QueryBuilder.AppendAllSelects(target.QueryBuilder.RegisterRootTable());
     return((ISelectedValuesResult <T, TMe>)target);
 }