Esempio n. 1
0
        public static IOracleSpecificQueryable <TSource> QueryHint <TSource>(this IOracleSpecificQueryable <TSource> source, [SqlQueryDependent] string hint)
            where TSource : notnull
        {
            var currentSource = LinqExtensions.ProcessSourceQueryable?.Invoke(source) ?? source;

            return(new OracleSpecificQueryable <TSource>(currentSource.Provider.CreateQuery <TSource>(
                                                             Expression.Call(
                                                                 null,
                                                                 MethodHelper.GetMethodInfo(QueryHint, source, hint),
                                                                 currentSource.Expression, Expression.Constant(hint)))));
        }
Esempio n. 2
0
        public static IOracleSpecificQueryable <TSource> QueryHint <TSource, TParam>(
            this IOracleSpecificQueryable <TSource> source,
            [SqlQueryDependent] string hint,
            [SqlQueryDependent] params TParam[] hintParameters)
            where TSource : notnull
        {
            var currentSource = LinqExtensions.ProcessSourceQueryable?.Invoke(source) ?? source;

            return(new OracleSpecificQueryable <TSource>(currentSource.Provider.CreateQuery <TSource>(
                                                             Expression.Call(
                                                                 null,
                                                                 MethodHelper.GetMethodInfo(QueryHint, source, hint, hintParameters),
                                                                 currentSource.Expression,
                                                                 Expression.Constant(hint),
                                                                 Expression.NewArrayInit(typeof(TParam), hintParameters.Select(p => Expression.Constant(p)))))));
        }
Esempio n. 3
0
 public static IOracleSpecificQueryable <TSource> ParallelHint <TSource>(this IOracleSpecificQueryable <TSource> query, int value)
     where TSource : notnull
 {
     return(QueryHint(query, string.Format(CultureInfo.InvariantCulture, Hint.Parallel + "({0})", value)));
 }
Esempio n. 4
0
 public static IOracleSpecificQueryable <TSource> ParallelManualHint <TSource>(this IOracleSpecificQueryable <TSource> query)
     where TSource : notnull
 {
     return(QueryHint(query, $"{Hint.Parallel}(MANUAL)"));
 }
Esempio n. 5
0
 public static IOracleSpecificQueryable <TSource> ParallelAutoHint <TSource>(this IOracleSpecificQueryable <TSource> query)
     where TSource : notnull
 {
     return(QueryHint(query, $"{Hint.Parallel}(AUTO)"));
 }
Esempio n. 6
0
 public static IOracleSpecificQueryable <TSource> ParallelDefaultHint <TSource>(this IOracleSpecificQueryable <TSource> query)
     where TSource : notnull
 {
     return(QueryHint(query, $"{Hint.Parallel}(DEFAULT)"));
 }
Esempio n. 7
0
 public static IOracleSpecificQueryable <TSource> ContainersHint <TSource>(this IOracleSpecificQueryable <TSource> query, string hint)
     where TSource : notnull
 {
     return(QueryHint(query, Hint.Containers(hint)));
 }
Esempio n. 8
0
 public static IOracleSpecificQueryable <TSource> OptParamHint <TSource>(this IOracleSpecificQueryable <TSource> query, params string[] parameters)
     where TSource : notnull
 {
     return(QueryHint(query, Hint.OptParam, parameters));
 }