title: Linq and trying to join on a let statement results
body: <p>I'm trying to do use linq in a way to avoid doing a foreach over DataRows in a DataSet:</p>
  
  <pre><code>var results = from dataRow in DataRows
                let MoreData = func(dataRow.ID)
                join moreDataRow in MoreData on dataRow.ID2 = moreDataRow.ID2
                select new
                {
                    ID1 = dataRow.ID,
                    ID2 = dataRow.ID2,
                    ID3 = dataRow2.ID3
                };
  </code></pre>
  
  <p>I'd like to accomplish something like the above, but linq cannot use the MoreData as part of the join statement.  If I'm unable to do that I may result to just doing a foreach on DataRows and going from there.</p>
  
  <p>Is there a linqy way to join on data that won't be available until iterating over an element and then performing a join from the original data to the newly generated data as above?</p>