public IQuery Join(QueryDef query, string alias, Action <IQueryExpression> conditionAction) { var source = new QuerySourceDef { SubQuery = query, Alias = alias }; var joinDef = new QueryJoinDef { Operation = SqlSourceJoinType.Inner, Source = source }; Def.Sources.Add(source); var expBuilder = new QueryJoinBuilder(this, joinDef); Def.Joins.Add(joinDef); conditionAction.Invoke(expBuilder); return(this); }
public IQuery FullJoin(string docDefName, string alias, Action <IQueryExpression> conditionAction) { var source = new QuerySourceDef { DocDefName = docDefName, Alias = alias }; Def.Sources.Add(source); var joinDef = new QueryJoinDef { Operation = SqlSourceJoinType.FullOuter, Source = source }; var expBuilder = new QueryJoinBuilder(this, joinDef); Def.Joins.Add(joinDef); conditionAction.Invoke(expBuilder); return(this); }
public IQuery Join(Guid docDefId, string alias, Action <IQueryExpression> conditionAction) { var source = new QuerySourceDef { DocDefId = docDefId, Alias = alias }; var joinDef = new QueryJoinDef { Operation = SqlSourceJoinType.Inner, Source = source/*, * Conditions = expBuilder.Conditions*/ }; Def.Sources.Add(source); var expBuilder = new QueryJoinBuilder(this, joinDef); Def.Joins.Add(joinDef); conditionAction.Invoke(expBuilder); return(this); }