Beispiel #1
0
        public static Sql.IAggregateFunctionNotOrdered <TEntity, TV[]> ArrayAggregate <TEntity, TV>(this IQueryable <TEntity> source, [ExprParameter] Expression <Func <TEntity, TV> > expr, [SqlQueryDependent] Sql.AggregateModifier modifier)
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }
            if (expr == null)
            {
                throw new ArgumentNullException(nameof(expr));
            }

            var currentSource = LinqExtensions.ProcessSourceQueryable?.Invoke(source) ?? source;

            var query = currentSource.Provider.CreateQuery <TV[]>(
                Expression.Call(
                    null,
                    MethodHelper.GetMethodInfo(ArrayAggregate, source, expr, modifier),
                    currentSource.Expression, Expression.Quote(expr), Expression.Constant(modifier)));

            return(new Sql.AggregateFunctionNotOrderedImpl <TEntity, TV[]>(query));
        }
Beispiel #2
0
 public static AnalyticFunctions.IAnalyticFunctionWithoutWindow <T[]> ArrayAggregate <T>(this Sql.ISqlExtension?ext,
                                                                                         [ExprParameter] T expr, [SqlQueryDependent] Sql.AggregateModifier modifier)
 {
     throw new LinqException($"'{nameof(ArrayAggregate)}' is server-side method.");
 }
Beispiel #3
0
 public static Sql.IAggregateFunctionNotOrdered <TEntity, TV[]> ArrayAggregate <TEntity, TV>(this IEnumerable <TEntity> source, [ExprParameter] Func <TEntity, TV> expr, [SqlQueryDependent] Sql.AggregateModifier modifier)
 {
     throw new LinqException($"'{nameof(ArrayAggregate)}' is server-side method.");
 }
Beispiel #4
0
 public static IAggregateFunctionSelfContained <T> Variance <T>(this Sql.ISqlExtension ext, [ExprParameter] object expr, Sql.AggregateModifier modifier)
 {
     throw new NotImplementedException();
 }