public override IJoinTable <K, T1> RightJoin <T1>(Expression <Func <K, T1, bool> > onExpression, JoinSetting joinSetting) { var lightQuery = new LightQuery <T1>(_context); return(new LightJoinTable <K, T1>(this, JoinType.RightJoin, lightQuery, onExpression, _joinSetting, joinSetting)); }
public LightSelect(DataContext context, Expression <Func <T, K> > expression, QueryExpression query, OrderExpression order, bool distinct, JoinSetting joinSetting, Region region, SafeLevel level) : base(context, expression, typeof(T)) { _query = query; _order = order; _distinct = distinct; _joinSetting = joinSetting; _region = region; _level = level; }
public override IJoinTable <K, T1> RightJoin <T1>(IQuery <T1> query, Expression <Func <K, T1, bool> > onExpression, JoinSetting joinSetting) { var queryBase = query as QueryBase <T1>; if (queryBase == null) { throw new ArgumentException(nameof(query)); } return(new LightJoinTable <K, T1>(this, JoinType.RightJoin, queryBase, onExpression, _joinSetting, joinSetting)); }
public override IJoinTable <K, T1> Join <T1>(IAggregate <T1> aggregate, Expression <Func <K, T1, bool> > onExpression, JoinSetting joinSetting) { var aggregateBase = aggregate as AggregateBase <T1>; if (aggregateBase == null) { throw new ArgumentException(nameof(aggregate)); } return(new LightJoinTable <K, T1>(this, JoinType.InnerJoin, aggregateBase, onExpression, _joinSetting, joinSetting)); }
public override IJoinTable <K, T1> RightJoin <T1>(ISelect <T1> select, Expression <Func <K, T1, bool> > onExpression, JoinSetting joinSetting) { var selectBase = select as SelectBase <T1>; if (selectBase == null) { throw new ArgumentException(nameof(select)); } return(new LightJoinTable <K, T1>(this, JoinType.RightJoin, selectBase, onExpression, _joinSetting, joinSetting)); }
private void runJoin(JoinSetting setting) { List <Row> left = helper.DataTable2List(dictDataTable[setting.LeftDTName]); List <Row> right = helper.DataTable2List(dictDataTable[setting.RightDTName]); List <JoinCondition> joinConditions = new List <JoinCondition>(); foreach (string[] item in setting.JoinConditions) { joinConditions.Add(new JoinCondition(item[0], item[1])); } List <Mapping> mappings = new List <Mapping>(); foreach (string[] item in setting.Mappings) { mappings.Add(new Mapping(item[0], item[1], item[2], item[3])); } BaseJoin join; switch (setting.Type) { case "leftjoin": join = new LeftJoin(); break; case "innerjoin": join = new InnerJoin(); break; default: throw new NotImplementedException(); } join.Left(new GenericEnumerableOperation(left)) .Right(new GenericEnumerableOperation(right)); join.JoinCondition(joinConditions); join.Mapping(mappings); join.PrepareForExecution(new SingleThreadedPipelineExecuter()); IEnumerable <Row> result = join.Execute(null); List <Row> items = new List <Row>(result); DataTable dtResult = helper.List2DataTable(items); dictDataTable.Add(setting.OutputName, dtResult); }
public abstract IJoinTable <T, T1> RightJoin <T1>(IQuery <T1> query, Expression <Func <T, T1, bool> > onExpression, JoinSetting joinSetting);
public abstract IJoinTable <T, T1> LeftJoin <T1>(Expression <Func <T, T1, bool> > onExpression, JoinSetting joinSetting);
public abstract IQuery <T> SetJoinSetting(JoinSetting setting);
public EntityJoinModel(DataEntityMapping mapping, string aliasTableName, JoinConnect connect, QueryExpression query, OrderExpression order, JoinSetting setting) { this._mapping = mapping; //this._selector = AllSelector.Value; this._connect = connect; this._query = query; this._order = order; this._aliasTableName = aliasTableName; this._joinMapping = mapping; if ((setting & JoinSetting.QueryDistinct) == JoinSetting.QueryDistinct) { _distinct = true; } if ((setting & JoinSetting.NoDataSetEntityNull) == JoinSetting.NoDataSetEntityNull) { _noDataSetEntityNull = true; } }
public AggregateJoinModel(AggregateModel model, string aliasTableName, JoinConnect connect, QueryExpression query, QueryExpression having, OrderExpression order, JoinSetting setting) { this._model = model; this._connect = connect; this._query = query; this._having = having; this._order = order; this._aliasTableName = aliasTableName; this._joinMapping = model.OutputMapping; if ((setting & JoinSetting.NoDataSetEntityNull) == JoinSetting.NoDataSetEntityNull) { _noDataSetEntityNull = true; } }
public AggregateJoinModel(AggregateModel model, string aliasTableName, JoinConnect connect, QueryExpression query, QueryExpression having, OrderExpression order, JoinSetting setting) { Model = model; Connect = connect; Query = query; Having = having; Order = order; AliasTableName = aliasTableName; JoinMapping = model.OutputDataMapping; if ((setting & JoinSetting.NoDataSetEntityNull) == JoinSetting.NoDataSetEntityNull) { NoDataSetEntityNull = true; } }
public SelectJoinModel(SelectModel model, string aliasTableName, JoinConnect connect, QueryExpression query, OrderExpression order, JoinSetting setting) { this._model = model; this._connect = connect; this._query = query; this._order = order; this._aliasTableName = aliasTableName; this._joinMapping = model.JoinTableMapping; if ((setting & JoinSetting.QueryDistinct) == JoinSetting.QueryDistinct) { _distinct = true; } if ((setting & JoinSetting.NoDataSetEntityNull) == JoinSetting.NoDataSetEntityNull) { _noDataSetEntityNull = true; } }
public abstract IAggregate <K> SetJoinSetting(JoinSetting setting);
public abstract IJoinTable <T, T1> RightJoin <T1>(IAggregate <T1> aggregate, Expression <Func <T, T1, bool> > onExpression, JoinSetting joinSetting);
public override IJoinTable <K, T1> RightJoin <T1>(Expression <Func <T1, bool> > queryExpression, Expression <Func <K, T1, bool> > onExpression, JoinSetting joinSetting) { var lightQuery = new LightQuery <T1>(_context); if (queryExpression != null) { lightQuery.Where(queryExpression); } return(new LightJoinTable <K, T1>(this, JoinType.RightJoin, lightQuery, onExpression, _joinSetting, joinSetting)); }
public override IAggregate <K> SetJoinSetting(JoinSetting setting) { _joinSetting = setting; return(this); }
public abstract IJoinTable <K, T1> RightJoin <T1>(Expression <Func <K, T1, bool> > onExpression, JoinSetting joinSetting);
public abstract IJoinTable <K, T1> Join <T1>(Expression <Func <T1, bool> > queryExpression, Expression <Func <K, T1, bool> > onExpression, JoinSetting joinSetting);
public override IQuery <T> SetJoinSetting(JoinSetting setting) { _joinSetting = setting; return(this); }
public abstract IJoinTable <T, T1> RightJoin <T1>(ISelect <T1> select, Expression <Func <T, T1, bool> > onExpression, JoinSetting joinSetting);
public SelectJoinModel(SelectModel model, string aliasTableName, JoinConnect connect, QueryExpression query, OrderExpression order, JoinSetting setting) { Model = model; Connect = connect; Query = query; Order = order; AliasTableName = aliasTableName; JoinMapping = model.JoinTableMapping; if ((setting & JoinSetting.QueryDistinct) == JoinSetting.QueryDistinct) { Distinct = true; } if ((setting & JoinSetting.NoDataSetEntityNull) == JoinSetting.NoDataSetEntityNull) { NoDataSetEntityNull = true; } }