title: How do you map input to output columns in the MergeJoin transformation with EzAPI?
body: <p>I'm in the process of programatically building a fairly complex SSIS data flow using the EzAPI library and have hit a snag. I've attached an image of what I'm trying to achieve. </p>
  
  <p><img src="https://i.stack.imgur.com/qkAr7.png" alt="enter image description here"></p>
  
  <p>I've got the start (up to the merge join) working correctly but have come unstuck trying to map the input of the merge join component to the output.</p>
  
  <p>Here's the code I have so far (just a snippet obviously)</p>
  
  <pre><code>            int sortPosition;
  
              var df = new EzDataFlow(p);
  
              var cur = new EzOleDbSource(df);
              cur.Connection = dstConn;
              cur.Table = "Table1";
  
              var hst = new EzOleDbSource(df);
              hst.Connection = hstConn;
              hst.Table = "Table2";
  
              // Add all the columns to the sort transformation for the Current database table
              var sortCurr = new EzSortTransform(df);
              sortCurr.AttachTo(cur);
  
              sortPosition = 1;
              foreach (Column c in table.Columns)
              {
                  sortCurr.SortOrder[c.ColumnName] = sortPosition++;
              }
  
  
              // Same for history
              var sortHst = new EzSortTransform(df);
              sortHst.AttachTo(hst);
  
              sortPosition = 1;
              foreach (Column c in table.Columns)
              {
                  sortHst.SortOrder[c.ColumnName] = sortPosition++;
              }
  
              var mrg = new EzMergeJoin(df);
  
              mrg.AttachTo(sortCurr, 0, 0);
              mrg.AttachTo(sortHst, 0, 1);
  
              mrg.JoinType = MergeJoinType.Full;
  
              ... now what?
  </code></pre>
  
  <p>i've searched high and low for an example or documentation for the EzMergeJoin transformation but with no avail. Can anyone point me in the right direction?</p>