Beispiel #1
0
        public static ISqlServerSpecificTable <TSource> JoinHint <TSource>(this ISqlServerSpecificTable <TSource> table, [SqlQueryDependent] string hint)
            where TSource : notnull
        {
            table.Expression = Expression.Call(
                null,
                MethodHelper.GetMethodInfo(JoinHint, table, hint),
                table.Expression, Expression.Constant(hint));

            return(table);
        }
Beispiel #2
0
        public static ISqlServerSpecificTable <TSource> TableHint <TSource, TParam>(
            this ISqlServerSpecificTable <TSource> table,
            [SqlQueryDependent] string hint,
            [SqlQueryDependent] params TParam[]   hintParameters)
            where TSource : notnull
        {
            table.Expression = Expression.Call(
                null,
                MethodHelper.GetMethodInfo(TableHint, table, hint, hintParameters),
                table.Expression,
                Expression.Constant(hint),
                Expression.NewArrayInit(typeof(TParam), hintParameters.Select(p => Expression.Constant(p, typeof(TParam)))));

            return(table);
        }
Beispiel #3
0
        public static ISqlServerSpecificTable <TSource> WithForceSeek <TSource>(
            this ISqlServerSpecificTable <TSource> table,
            [SqlQueryDependent] string indexName,
            params Expression <Func <TSource, object> >[] columns)
            where TSource : notnull
        {
            table.Expression = Expression.Call(
                null,
                MethodHelper.GetMethodInfo(WithForceSeek, table, indexName, columns),
                table.Expression, Expression.Constant(indexName), Expression.NewArrayInit(
                    typeof(Expression <Func <TSource, object> >),
                    columns));

            return(table);
        }
Beispiel #4
0
 public static ISqlServerSpecificTable <TSource> WithNoLock <TSource>(this ISqlServerSpecificTable <TSource> table)
     where TSource : notnull
 {
     return(table.TableHint(Table.NoLock));
 }
Beispiel #5
0
 public static ISqlServerSpecificTable <TSource> JoinRemoteHint <TSource>(this ISqlServerSpecificTable <TSource> table)
     where TSource : notnull
 {
     return(table.JoinHint(Join.Remote));
 }
Beispiel #6
0
 public static ISqlServerSpecificTable <TSource> WithSnapshot <TSource>(this ISqlServerSpecificTable <TSource> table)
     where TSource : notnull
 {
     return(table.TableHint2014Plus(Table.Snapshot));
 }
Beispiel #7
0
 public static ISqlServerSpecificTable <TSource> WithSerializable <TSource>(this ISqlServerSpecificTable <TSource> table)
     where TSource : notnull
 {
     return(table.TableHint(Table.Serializable));
 }
Beispiel #8
0
 public static ISqlServerSpecificTable <TSource> WithRepeatableRead <TSource>(this ISqlServerSpecificTable <TSource> table)
     where TSource : notnull
 {
     return(table.TableHint(Table.RepeatableRead));
 }
Beispiel #9
0
 public static ISqlServerSpecificTable <TSource> WithForceScan <TSource>(this ISqlServerSpecificTable <TSource> table)
     where TSource : notnull
 {
     return(table.TableHint2012Plus(Table.ForceScan));
 }
Beispiel #10
0
 public static ISqlServerSpecificTable <TSource> WithSpatialWindowMaxCells <TSource>(this ISqlServerSpecificTable <TSource> table, int cells)
     where TSource : notnull
 {
     return(table.TableHint2012Plus(Table.SpatialWindowMaxCells(cells)));
 }
Beispiel #11
0
 public static ISqlServerSpecificTable <TSource> WithIndex <TSource>(this ISqlServerSpecificTable <TSource> table, params string[] indexNames)
     where TSource : notnull
 {
     return(table.TableHint(Table.Index, indexNames));
 }