public static ISqlServerSpecificQueryable <TSource> QueryHint <TSource>(this ISqlServerSpecificQueryable <TSource> source, [SqlQueryDependent] string hint) where TSource : notnull { var currentSource = LinqExtensions.ProcessSourceQueryable?.Invoke(source) ?? source; return(new SqlServerSpecificQueryable <TSource>(currentSource.Provider.CreateQuery <TSource>( Expression.Call( null, MethodHelper.GetMethodInfo(QueryHint, source, hint), currentSource.Expression, Expression.Constant(hint))))); }
public static ISqlServerSpecificQueryable <TSource> OptionUseHint <TSource>( this ISqlServerSpecificQueryable <TSource> source, [SqlQueryDependent] params string[] values) where TSource : notnull { var currentSource = LinqExtensions.ProcessSourceQueryable?.Invoke(source) ?? source; return(new SqlServerSpecificQueryable <TSource>(currentSource.Provider.CreateQuery <TSource>( Expression.Call( null, MethodHelper.GetMethodInfo(OptionUseHint, source, values), currentSource.Expression, Expression.NewArrayInit(typeof(string), values.Select(Expression.Constant)))))); }
public static ISqlServerSpecificQueryable <TSource> QueryHint <TSource, TParam>( this ISqlServerSpecificQueryable <TSource> source, [SqlQueryDependent] string hint, [SqlQueryDependent] params TParam[] hintParameters) where TSource : notnull { var currentSource = LinqExtensions.ProcessSourceQueryable?.Invoke(source) ?? source; return(new SqlServerSpecificQueryable <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))))))); }
public static ISqlServerSpecificQueryable <TSource> OptionDisableScaleOutExecution <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint2019Plus(Query.DisableScaleOutExecution)); }
public static ISqlServerSpecificQueryable <TSource> WithHoldLockInScope <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.TablesInScopeHint(Table.HoldLock)); }
public static ISqlServerSpecificQueryable <TSource> OptionDisableExternalPushDown <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint(Query.DisableExternalPushDown)); }
public static ISqlServerSpecificQueryable <TSource> OptionForceOrder <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint(Query.ForceOrder)); }
public static ISqlServerSpecificQueryable <TSource> OptionQueryTraceOn <TSource>(this ISqlServerSpecificQueryable <TSource> query, int value) where TSource : notnull { return(query.QueryHint(Query.QueryTraceOn(value))); }
public static ISqlServerSpecificQueryable <TSource> OptionNoPerformanceSpool <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint2019Plus(Query.NoPerformanceSpool)); }
public static ISqlServerSpecificQueryable <TSource> OptionHashGroup <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint(Query.HashGroup)); }
public static ISqlServerSpecificQueryable <TSource> JoinRemoteHint <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.JoinHint(Join.Remote)); }
public static ISqlServerSpecificQueryable <TSource> WithSnapshotInScope <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.TablesInScopeHint2014Plus(Table.Snapshot)); }
public static ISqlServerSpecificQueryable <TSource> WithSerializableInScope <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.TablesInScopeHint(Table.Serializable)); }
public static ISqlServerSpecificQueryable <TSource> WithRepeatableReadInScope <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.TablesInScopeHint(Table.RepeatableRead)); }
public static ISqlServerSpecificQueryable <TSource> WithForceScanInScope <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.TablesInScopeHint2012Plus(Table.ForceScan)); }
public static ISqlServerSpecificQueryable <TSource> OptionIgnoreNonClusteredColumnStoreIndex <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint2012Plus(Query.IgnoreNonClusteredColumnStoreIndex)); }
public static ISqlServerSpecificQueryable <TSource> OptionMinGrantPercent <TSource>(this ISqlServerSpecificQueryable <TSource> query, int value) where TSource : notnull { return(query.QueryHint2016Plus(Query.MinGrantPercent(value))); }
public static ISqlServerSpecificQueryable <TSource> OptionConcatUnion <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint(Query.ConcatUnion)); }
public static ISqlServerSpecificQueryable <TSource> OptionOptimizeForUnknown <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint2008Plus(Query.OptimizeForUnknown)); }
public static ISqlServerSpecificQueryable <TSource> OptionMergeJoin <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint(Query.MergeJoin)); }
public static ISqlServerSpecificQueryable <TSource> OptionRobustPlan <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint(Query.RobustPlan)); }
public static ISqlServerSpecificQueryable <TSource> OptionExpandViews <TSource>(this ISqlServerSpecificQueryable <TSource> query) where TSource : notnull { return(query.QueryHint(Query.ExpandViews)); }