title: Start async operations, then await later
body: <p>I'm just now starting to play with async and await.  I have 8 separate db calls, some dependent on others.  I'd like to be able to kick off 3 async methods, then when a certain 1 returns, kick off 3 others, then when a certain 1 returns from that, kick off 2 more.  I am currently using 3 Parallel.Invoke methods to accomplish this, but each parallel has to wait until <strong>ALL methods</strong> return.  I only care about <strong>1 method</strong> returning, the others can run in the background until an <code>await Task.WhenAll(t1,t2,t3,...,t6)</code> at the end.  <strong>Is there a way to pull this off with async/await?</strong></p>
  
  <p>I understand that await isn't blocking, but it is stopping execution of my main method (w/the 8 db calls) until the value returns from the method (just like a synchronous method does).</p>