Beispiel #1
0
        public static IJoinResult <T, TMe> Join <T, TMe, TKey>(this IJoinTarget <T, TMe> joinTarget, Expression <Func <T, TKey> > tableExpression, JoinType type)
        {
            joinTarget.QueryBuilder.AppendJoin(type);
            BaseQueryBuilder queryBuilder = joinTarget.QueryBuilder;
            var selectedTable             = queryBuilder.GetTable(tableExpression, register: true);

            queryBuilder.StringBuilder.AppendTable(selectedTable);
            return((IJoinResult <T, TMe>)joinTarget);
        }
Beispiel #2
0
        public static IJoinResult <T, TMe> Join <T, TMe>(this IJoinTarget <T, TMe> joinTarget, Action <ISelectResult <T, TMe> > subQuery, Expression <Func <object> > tableAliasExpression, JoinType type)
        {
            joinTarget.QueryBuilder.AppendJoin(type);
            joinTarget.SubQuery(subQuery);
            joinTarget.QueryBuilder.StringBuilder.Append("AS");
            var table = joinTarget.QueryBuilder.GetTable(tableAliasExpression, register: true);

            joinTarget.QueryBuilder.StringBuilder.Append(table.Alias);
            return((IJoinResult <T, TMe>)joinTarget);
        }
Beispiel #3
0
 public static IOnResult <T, TMe> InnerJoinOnId <T, TMe>(this IJoinTarget <T, TMe> joinTarget, Expression <Func <T, object> > tableExpression)
 {
     return(joinTarget.Join(tableExpression, JoinType.Inner).OnId(tableExpression));
 }
Beispiel #4
0
 public static IOnResult <T, TMe> LeftJoinOnId <T, TMe, TKey>(this IJoinTarget <T, TMe> joinTarget, Expression <Func <T, TKey> > tableExpression)
 {
     return(joinTarget.Join(tableExpression, JoinType.LeftOuter).OnId(tableExpression));
 }
Beispiel #5
0
 public static IJoinResult <T, TMe> RightJoin <T, TMe>(this IJoinTarget <T, TMe> joinTarget, Expression <Func <T, object> > tableExpression)
 {
     return(joinTarget.Join(tableExpression, JoinType.RightOuter));
 }
Beispiel #6
0
 public static IJoinResult <T, TMe> InnerJoin <T, TMe>(this IJoinTarget <T, TMe> joinTarget,
                                                       Action <ISelectResult <T, TMe> > subQuery, Expression <Func <object> > tableAlias)
 {
     return(joinTarget.Join(subQuery, tableAlias, JoinType.Inner));
 }