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); }
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); }
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)); }
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)); }
public static IJoinResult <T, TMe> RightJoin <T, TMe>(this IJoinTarget <T, TMe> joinTarget, Expression <Func <T, object> > tableExpression) { return(joinTarget.Join(tableExpression, JoinType.RightOuter)); }
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)); }