public virtual void VisitGroupJoinClause (GroupJoinClause groupJoinClause, QueryModel queryModel, int index) { ArgumentUtility.CheckNotNull ("groupJoinClause", groupJoinClause); ArgumentUtility.CheckNotNull ("queryModel", queryModel); groupJoinClause.JoinClause.Accept (this, queryModel, groupJoinClause); }
public virtual void VisitJoinClause (JoinClause joinClause, QueryModel queryModel, GroupJoinClause groupJoinClause) { ArgumentUtility.CheckNotNull ("joinClause", joinClause); ArgumentUtility.CheckNotNull ("queryModel", queryModel); ArgumentUtility.CheckNotNull ("groupJoinClause", groupJoinClause); // nothing to do here }
/// <summary> /// Clones this clause, registering its clone with the <paramref name="cloneContext"/>. /// </summary> /// <param name="cloneContext">The clones of all query source clauses are registered with this <see cref="CloneContext"/>.</param> /// <returns>A clone of this clause.</returns> public GroupJoinClause Clone(CloneContext cloneContext) { ArgumentUtility.CheckNotNull("cloneContext", cloneContext); var clone = new GroupJoinClause(ItemName, ItemType, JoinClause.Clone(cloneContext)); cloneContext.QuerySourceMapping.AddMapping(this, new QuerySourceReferenceExpression(clone)); return(clone); }
/// <summary> /// Accepts the specified visitor by calling its <see cref="IQueryModelVisitor.VisitJoinClause(ArangoDB.Client.Common.Remotion.Linq.Clauses.JoinClause,ArangoDB.Client.Common.Remotion.Linq.QueryModel,ArangoDB.Client.Common.Remotion.Linq.Clauses.GroupJoinClause)"/> /// method. This overload is used when visiting a <see cref="JoinClause"/> that is held by a <see cref="GroupJoinClause"/>. /// </summary> /// <param name="visitor">The visitor to accept.</param> /// <param name="queryModel">The query model in whose context this clause is visited.</param> /// <param name="groupJoinClause">The <see cref="GroupJoinClause"/> holding this <see cref="JoinClause"/> instance.</param> public virtual void Accept(IQueryModelVisitor visitor, QueryModel queryModel, GroupJoinClause groupJoinClause) { ArgumentUtility.CheckNotNull("visitor", visitor); ArgumentUtility.CheckNotNull("queryModel", queryModel); ArgumentUtility.CheckNotNull("groupJoinClause", groupJoinClause); visitor.VisitJoinClause(this, queryModel, groupJoinClause); }
/// <summary> /// Accepts the specified visitor by calling its <see cref="IQueryModelVisitor.VisitJoinClause(ArangoDB.Client.Common.Remotion.Linq.Clauses.JoinClause,ArangoDB.Client.Common.Remotion.Linq.QueryModel,ArangoDB.Client.Common.Remotion.Linq.Clauses.GroupJoinClause)"/> /// method. This overload is used when visiting a <see cref="JoinClause"/> that is held by a <see cref="GroupJoinClause"/>. /// </summary> /// <param name="visitor">The visitor to accept.</param> /// <param name="queryModel">The query model in whose context this clause is visited.</param> /// <param name="groupJoinClause">The <see cref="GroupJoinClause"/> holding this <see cref="JoinClause"/> instance.</param> public virtual void Accept (IQueryModelVisitor visitor, QueryModel queryModel, GroupJoinClause groupJoinClause) { ArgumentUtility.CheckNotNull ("visitor", visitor); ArgumentUtility.CheckNotNull ("queryModel", queryModel); ArgumentUtility.CheckNotNull ("groupJoinClause", groupJoinClause); visitor.VisitJoinClause (this, queryModel, groupJoinClause); }
public override void VisitGroupJoinClause(GroupJoinClause groupJoinClause, QueryModel queryModel, int index) { }
/// <summary> /// Clones this clause, registering its clone with the <paramref name="cloneContext"/>. /// </summary> /// <param name="cloneContext">The clones of all query source clauses are registered with this <see cref="CloneContext"/>.</param> /// <returns>A clone of this clause.</returns> public GroupJoinClause Clone (CloneContext cloneContext) { ArgumentUtility.CheckNotNull ("cloneContext", cloneContext); var clone = new GroupJoinClause (ItemName, ItemType, JoinClause.Clone (cloneContext)); cloneContext.QuerySourceMapping.AddMapping (this, new QuerySourceReferenceExpression (clone)); return clone; }
protected override QueryModel ApplyNodeSpecificSemantics (QueryModel queryModel, ClauseGenerationContext clauseGenerationContext) { ArgumentUtility.CheckNotNull ("queryModel", queryModel); var joinClause = JoinExpressionNode.CreateJoinClause (clauseGenerationContext); var groupJoinClause = new GroupJoinClause (ResultSelector.Parameters[1].Name, ResultSelector.Parameters[1].Type, joinClause); clauseGenerationContext.AddContextInfo (this, groupJoinClause); queryModel.BodyClauses.Add (groupJoinClause); var selectClause = queryModel.SelectClause; selectClause.Selector = GetResolvedResultSelector (clauseGenerationContext); return queryModel; }