public SqlExp <T> SelectSubQuerySingle <T2>(SqlExpBase sqlExp, Expression <Func <T2, object> > subProp, Expression <Func <T, object> > mainProp) { if (_type != SqlType.Query) { _type = SqlType.Query; } var fieldAlias = _resolver.GetColumnName(mainProp); _resolver.SelectSubQuery <T2>(subProp, sqlExp.JoinSubAliasTableName, fieldAlias); return(this); }
public SqlExp <T> SelectSubQuery <T2>(SqlExpBase sqlExp, params Expression <Func <T2, object> >[] expressions) { if (_type != SqlType.Query) { _type = SqlType.Query; } foreach (var expression in expressions) { _resolver.SelectSubQuery <T2>(expression, sqlExp.JoinSubAliasTableName); } return(this); }
public SqlExp <T> AverageSubQuery <TSub, TResult>(SqlExpBase subExp, Expression <Func <T, object> > expression, Expression <Func <TResult, object> > aliasExpression) { _resolver.SelectWithFunctionSubQuery(expression, SelectFunction.AVG, aliasExpression, subExp.JoinSubAliasTableName); return(this); }
public SqlExp <T> MinSubQuery <TSub>(SqlExpBase subExp, Expression <Func <T, object> > expression) { _resolver.SelectWithFunctionSubQuery(expression, SelectFunction.MIN, subExp.JoinSubAliasTableName); return(this); }
public SqlExp <T> SumSubQuery <TSub>(SqlExpBase subExp, Expression <Func <T, object> > expression, Expression <Func <TSub, object> > aliasProp) { _resolver.SelectWithFunctionSubQuery(expression, SelectFunction.SUM, aliasProp, subExp.JoinSubAliasTableName); return(this); }
public SqlExp <T> WhereNotIn(Expression <Func <T, object> > expression, SqlExpBase sqlQuery) { _builder.And(); _resolver.QueryByIsIn(true, expression, sqlQuery); return(this); }