title: Remove row asynchronously using Entity Framework
body: <p>I'm still pretty new at async so I'm not sure whether what I'm doing is redundant or not.  The following removes a row from a database:</p>
  
  <pre><code>public static async Task Remove(int id)
  {
      using (var ctx = new StoreContext())
      {
          ctx.Products.Remove(await ctx.Products.SingleOrDefaultAsync(x =&gt; x.ID == id));
          await ctx.SaveChangesAsync();
      }
  }
  </code></pre>
  
  <p>Should I be awaiting here twice or is there no point?  As far as I know, both <code>awaits</code> improve responsiveness, while <code>.Remove</code> itself "blocks" responsiveness  for a practically unnoticeable amount of time, is that correct?</p>