public static TResult Aggregate <TSource, TAccumulate, TResult>(this IProtobufSimpleQueryable <TSource> source, TAccumulate seed, Expression <Func <TAccumulate, TSource, TAccumulate> > func, Expression <Func <TAccumulate, TResult> > selector) { var accumulate = source.Aggregate(seed, func); return(selector.Compile()(accumulate)); }
public static IProtobufSimpleQueryable <TSource> Where <TSource>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, bool> > predicate) { return(source.Where(Expression.Lambda <Func <TSource, int, bool> >(predicate.Body, predicate.Parameters[0], Expression.Parameter(typeof(int))))); }
public static bool All <TSource>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, bool> > predicate) { var negatedPredicate = Expression.Lambda <Func <TSource, bool> >(Expression.Negate(predicate.Body), predicate.Parameters); return(!source.Any(negatedPredicate)); }
public static bool Any <TSource>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, bool> > predicate) { return(source.Where(predicate).Select(t => new object()).Any()); }
public static IProtobufSimpleQueryable <TSource> Skip <TSource>(this IProtobufSimpleQueryable <TSource> source, int i) { return(source.Where((e, index) => index >= i)); }
public static Decimal?Average <TSource>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, Decimal?> > selector) { return(source.Select(selector).Average()); }
public static int Count <TSource>(this IProtobufSimpleQueryable <TSource> source) { return(source.Select(t => Counter).Count()); }
public static TSource ElementAt <TSource>(this IProtobufSimpleQueryable <TSource> source, int index) { return(source.Skip(index).Select(t => t).First()); }
public static IEnumerable <TResult> Select <TSource, TResult>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, TResult> > selector) { return(source.Select(Expression.Lambda <Func <TSource, int, TResult> >(selector.Body, selector.Parameters[0], Expression.Parameter(typeof(int))))); }