Web API Methods: Return IHttpActionResult Or IQueryable
<p>I see most comments about Web API methods say they should return IHttpActionResult.  When I add a Controller in Visual Studio and I select "Web API 2 Controller With Action For Entity Framework" it entered these two methods (along with POST, PUT, and DELETE).  It uses IQueryable to return multiple records instead of IHttpActionResult.  Which is correct and why?</p>

<p><div class="snippet" data-lang="js" data-hide="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>        // GET: api/Trades
        public IQueryable&lt;Trade&gt; GetTrades()
        {
            return db.Trades;
        }

        // GET: api/Trades/5
        [ResponseType(typeof(Trade))]
        public IHttpActionResult GetTrade(int id)
        {
            Trade trade = db.Trades.Find(id);
            if (trade == null)
            {
                return NotFound();
            }

            return Ok(trade);
        }</code></pre>
</div>
</div>
</p>