public virtual void VisitJoinClause (JoinClause joinClause, QueryModel queryModel, int index)
 {
   ArgumentUtility.CheckNotNull ("joinClause", joinClause);
   ArgumentUtility.CheckNotNull ("queryModel", queryModel);
   
   // nothing to do here
 }
    public GroupJoinClause (string itemName, Type itemType, JoinClause joinClause)
    {
      ArgumentUtility.CheckNotNullOrEmpty ("itemName", itemName);
      ArgumentUtility.CheckNotNull ("itemType", itemType);
      ArgumentUtility.CheckNotNull ("joinClause", joinClause);

      ItemName = itemName;
      ItemType = itemType;
      JoinClause = joinClause;
    }
示例#3
0
    /// <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 JoinClause Clone (CloneContext cloneContext)
    {
      ArgumentUtility.CheckNotNull ("cloneContext", cloneContext);

      var clone = new JoinClause (ItemName, ItemType, InnerSequence, OuterKeySelector, InnerKeySelector);
      cloneContext.QuerySourceMapping.AddMapping (this, new QuerySourceReferenceExpression (clone));
      return clone;
    }
 public override void VisitJoinClause(JoinClause joinClause, QueryModel queryModel, int index)
 {
     base.VisitJoinClause(joinClause, queryModel, index);
 }
    public JoinClause CreateJoinClause (ClauseGenerationContext clauseGenerationContext)
    {
      var dummyInnerKeySelector = Expression.Constant (null);
      var joinClause = new JoinClause (
          ResultSelector.Parameters[1].Name,
          ResultSelector.Parameters[1].Type,
          InnerSequence,
          GetResolvedOuterKeySelector (clauseGenerationContext),
          dummyInnerKeySelector);
      
      clauseGenerationContext.AddContextInfo (this, joinClause);

      joinClause.InnerKeySelector = GetResolvedInnerKeySelector (clauseGenerationContext);
      return joinClause;
    }